{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-webapp-base",
      "artifactVersion": "2021.57.3",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.webapp.base",
          "org.nuxeo.ecm.webapp.core",
          "org.nuxeo.ecm.webapp.ui"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp",
        "id": "grp:org.nuxeo.ecm.webapp",
        "name": "org.nuxeo.ecm.webapp",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2021.57"
      },
      "bundleId": "org.nuxeo.ecm.webapp.base",
      "components": [
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.webapp.tree.TreeManagerImpl",
          "documentation": "\n    TreeManager component and service declaration.\n\n    @author Anahide Tchertchian (at@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nTreeManager component and service declaration.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.platform.treeManager",
              "descriptors": [
                "org.nuxeo.ecm.webapp.tree.TreeManagerPluginDescriptor"
              ],
              "documentation": "\n      Plugin extension point for the tree manager service.\n\n      Enables registration of plugins that will control document filter and\n      sorting.\n\n      Example of a plugin registration:\n\n      <code>\n    <treeManagerPlugin name=\"navigation\">\n        <excludedFacets>\n            <facet name=\"HiddenInNavigation\"/>\n        </excludedFacets>\n        <includedFacets>\n            <facet name=\"Folderish\"/>\n        </includedFacets>\n        <excludedTypes>\n            <type>Section</type>\n        </excludedTypes>\n        <sortPropertyPath>dc:title</sortPropertyPath>\n        <filterClass>org.example.com.MyFilterClass</filterClass>\n        <leafFilterClass>org.example.com.MyLeafFilterClass</leafFilterClass>\n        <sorterClass>org.example.com.MySorterClass</sorterClass>\n    </treeManagerPlugin>\n</code>\n\n\n      Example of a plugin using a page provider:\n\n      <code>\n    <treeManagerPlugin name=\"navigation\">\n        <leafFilterClass>\n            org.nuxeo.ecm.webapp.tree.BigFolderLeafFilter\n          </leafFilterClass>\n        <pageProvider>TREE_CHILDREN</pageProvider>\n    </treeManagerPlugin>\n</code>\n<ul>\n    <li>\n          excludedFacets: list of facets used to filter documents that should\n          not appear in the tree\n        </li>\n    <li>\n          includedFacets: list of facets used to filter documents that should\n          appear in the tree\n        </li>\n    <li>\n          excludedTypes: list of types used to filter documents that should not\n          appear in the tree\n        </li>\n    <li>\n          sortPropertyPath: property path used to sort tree node children when\n          using the default sorter\n        </li>\n    <li>\n          filterClass: the filter class has to implement the\n          org.nuxeo.ecm.core.api.Filter interface. If it implements the\n          org.nuxeo.ecm.webapp.tree.DocumentTreeFilter interface, the above\n          filter properties will be set on it.\n        </li>\n    <li>\n          leafFilterClass: filter that can decide that a document is shown with\n          no children. The leaf filter class has to implement the\n          org.nuxeo.ecm.core.api.Filter interface.\n        </li>\n    <li>\n          sorterClass: the sorter class has to implement the\n          org.nuxeo.ecm.core.api.Sorter interface. If it implements the\n          org.nuxeo.ecm.webapp.tree.DocumentTreeSorter interface, the above sort\n          property will be set on it.\n        </li>\n    <li>\n          queryModel: the page provider (with one free parameter that will be\n          replaced by the tree node id) to use to list the children of a\n          document in the tree. When not defined, a core query using the\n          filterClass and sorterClass is used.\n        </li>\n    <li>\n          queryModel: the query model (with one free parameter) to use to list\n          the children of a document in the tree. When not defined, a core query\n          using the filterClass and sorterClass is used. NOW DEPRECATED, use\n          pageProvider instead.\n        </li>\n    <li>\n          orderableQueryModel: the query model (with one free parameter) to use\n          to list the children of an orderable document in the tree. NOW\n          DEPRECATED, use pageProvider instead.\n        </li>\n</ul>\n",
              "documentationHtml": "<p>\nPlugin extension point for the tree manager service.\n</p><p>\nEnables registration of plugins that will control document filter and\nsorting.\n</p><p>\nExample of a plugin registration:\n</p><p>\n</p><pre><code>    &lt;treeManagerPlugin name&#61;&#34;navigation&#34;&gt;\n        &lt;excludedFacets&gt;\n            &lt;facet name&#61;&#34;HiddenInNavigation&#34;/&gt;\n        &lt;/excludedFacets&gt;\n        &lt;includedFacets&gt;\n            &lt;facet name&#61;&#34;Folderish&#34;/&gt;\n        &lt;/includedFacets&gt;\n        &lt;excludedTypes&gt;\n            &lt;type&gt;Section&lt;/type&gt;\n        &lt;/excludedTypes&gt;\n        &lt;sortPropertyPath&gt;dc:title&lt;/sortPropertyPath&gt;\n        &lt;filterClass&gt;org.example.com.MyFilterClass&lt;/filterClass&gt;\n        &lt;leafFilterClass&gt;org.example.com.MyLeafFilterClass&lt;/leafFilterClass&gt;\n        &lt;sorterClass&gt;org.example.com.MySorterClass&lt;/sorterClass&gt;\n    &lt;/treeManagerPlugin&gt;\n</code></pre><p>\nExample of a plugin using a page provider:\n</p><p>\n</p><pre><code>    &lt;treeManagerPlugin name&#61;&#34;navigation&#34;&gt;\n        &lt;leafFilterClass&gt;\n            org.nuxeo.ecm.webapp.tree.BigFolderLeafFilter\n          &lt;/leafFilterClass&gt;\n        &lt;pageProvider&gt;TREE_CHILDREN&lt;/pageProvider&gt;\n    &lt;/treeManagerPlugin&gt;\n</code></pre><p>\n</p><ul><li>\nexcludedFacets: list of facets used to filter documents that should\nnot appear in the tree\n</li><li>\nincludedFacets: list of facets used to filter documents that should\nappear in the tree\n</li><li>\nexcludedTypes: list of types used to filter documents that should not\nappear in the tree\n</li><li>\nsortPropertyPath: property path used to sort tree node children when\nusing the default sorter\n</li><li>\nfilterClass: the filter class has to implement the\norg.nuxeo.ecm.core.api.Filter interface. If it implements the\norg.nuxeo.ecm.webapp.tree.DocumentTreeFilter interface, the above\nfilter properties will be set on it.\n</li><li>\nleafFilterClass: filter that can decide that a document is shown with\nno children. The leaf filter class has to implement the\norg.nuxeo.ecm.core.api.Filter interface.\n</li><li>\nsorterClass: the sorter class has to implement the\norg.nuxeo.ecm.core.api.Sorter interface. If it implements the\norg.nuxeo.ecm.webapp.tree.DocumentTreeSorter interface, the above sort\nproperty will be set on it.\n</li><li>\nqueryModel: the page provider (with one free parameter that will be\nreplaced by the tree node id) to use to list the children of a\ndocument in the tree. When not defined, a core query using the\nfilterClass and sorterClass is used.\n</li><li>\nqueryModel: the query model (with one free parameter) to use to list\nthe children of a document in the tree. When not defined, a core query\nusing the filterClass and sorterClass is used. NOW DEPRECATED, use\npageProvider instead.\n</li><li>\norderableQueryModel: the query model (with one free parameter) to use\nto list the children of an orderable document in the tree. NOW\nDEPRECATED, use pageProvider instead.\n</li></ul>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.treeManager/ExtensionPoints/org.nuxeo.ecm.platform.treeManager--plugin",
              "id": "org.nuxeo.ecm.platform.treeManager--plugin",
              "label": "plugin (org.nuxeo.ecm.platform.treeManager)",
              "name": "plugin",
              "version": "2021.57.3"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.treeManager",
          "name": "org.nuxeo.ecm.platform.treeManager",
          "requirements": [],
          "resolutionOrder": 625,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.platform.treeManager",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.treeManager/Services/org.nuxeo.ecm.webapp.tree.TreeManager",
              "id": "org.nuxeo.ecm.webapp.tree.TreeManager",
              "overriden": false,
              "version": "2021.57.3"
            }
          ],
          "startOrder": 896,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.treeManager\">\n\n  <documentation>\n    TreeManager component and service declaration.\n\n    @author Anahide Tchertchian (at@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.webapp.tree.TreeManagerImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.webapp.tree.TreeManager\" />\n  </service>\n\n  <extension-point name=\"plugin\">\n    <documentation>\n      Plugin extension point for the tree manager service.\n\n      Enables registration of plugins that will control document filter and\n      sorting.\n\n      Example of a plugin registration:\n\n      <code>\n        <treeManagerPlugin name=\"navigation\">\n          <excludedFacets>\n            <facet name=\"HiddenInNavigation\" />\n          </excludedFacets>\n          <includedFacets>\n            <facet name=\"Folderish\" />\n          </includedFacets>\n          <excludedTypes>\n            <type>Section</type>\n          </excludedTypes>\n          <sortPropertyPath>dc:title</sortPropertyPath>\n          <filterClass>org.example.com.MyFilterClass</filterClass>\n          <leafFilterClass>org.example.com.MyLeafFilterClass</leafFilterClass>\n          <sorterClass>org.example.com.MySorterClass</sorterClass>\n        </treeManagerPlugin>\n      </code>\n\n      Example of a plugin using a page provider:\n\n      <code>\n        <treeManagerPlugin name=\"navigation\">\n          <leafFilterClass>\n            org.nuxeo.ecm.webapp.tree.BigFolderLeafFilter\n          </leafFilterClass>\n          <pageProvider>TREE_CHILDREN</pageProvider>\n        </treeManagerPlugin>\n      </code>\n\n      <ul>\n        <li>\n          excludedFacets: list of facets used to filter documents that should\n          not appear in the tree\n        </li>\n        <li>\n          includedFacets: list of facets used to filter documents that should\n          appear in the tree\n        </li>\n        <li>\n          excludedTypes: list of types used to filter documents that should not\n          appear in the tree\n        </li>\n        <li>\n          sortPropertyPath: property path used to sort tree node children when\n          using the default sorter\n        </li>\n        <li>\n          filterClass: the filter class has to implement the\n          org.nuxeo.ecm.core.api.Filter interface. If it implements the\n          org.nuxeo.ecm.webapp.tree.DocumentTreeFilter interface, the above\n          filter properties will be set on it.\n        </li>\n        <li>\n          leafFilterClass: filter that can decide that a document is shown with\n          no children. The leaf filter class has to implement the\n          org.nuxeo.ecm.core.api.Filter interface.\n        </li>\n        <li>\n          sorterClass: the sorter class has to implement the\n          org.nuxeo.ecm.core.api.Sorter interface. If it implements the\n          org.nuxeo.ecm.webapp.tree.DocumentTreeSorter interface, the above sort\n          property will be set on it.\n        </li>\n        <li>\n          queryModel: the page provider (with one free parameter that will be\n          replaced by the tree node id) to use to list the children of a\n          document in the tree. When not defined, a core query using the\n          filterClass and sorterClass is used.\n        </li>\n        <li>\n          queryModel: the query model (with one free parameter) to use to list\n          the children of a document in the tree. When not defined, a core query\n          using the filterClass and sorterClass is used. NOW DEPRECATED, use\n          pageProvider instead.\n        </li>\n        <li>\n          orderableQueryModel: the query model (with one free parameter) to use\n          to list the children of an orderable document in the tree. NOW\n          DEPRECATED, use pageProvider instead.\n        </li>\n      </ul>\n\n\n    </documentation>\n    <object class=\"org.nuxeo.ecm.webapp.tree.TreeManagerPluginDescriptor\" />\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/nxtreemanager-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentation": "Default configuration for Nuxeo EP tree\n",
          "documentationHtml": "<p>\nDefault configuration for Nuxeo EP tree</p>",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Default configuration for the Nuxeo EP tree.\n\n      Displays only Folderish objects, not marked as hidden in navigation, and\n      sorts by dc:title property. Folders with the BigFolder facet are shown\n      without any children.\n    \n",
              "documentationHtml": "<p>\nDefault configuration for the Nuxeo EP tree.\n</p><p>\nDisplays only Folderish objects, not marked as hidden in navigation, and\nsorts by dc:title property. Folders with the BigFolder facet are shown\nwithout any children.\n</p><p></p>",
              "extensionPoint": "org.nuxeo.ecm.platform.treeManager--plugin",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.treeManager.contrib/Contributions/org.nuxeo.ecm.platform.treeManager.contrib--plugin",
              "id": "org.nuxeo.ecm.platform.treeManager.contrib--plugin",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.treeManager",
                "name": "org.nuxeo.ecm.platform.treeManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"plugin\" target=\"org.nuxeo.ecm.platform.treeManager\">\n\n    <documentation>\n      Default configuration for the Nuxeo EP tree.\n\n      Displays only Folderish objects, not marked as hidden in navigation, and\n      sorts by dc:title property. Folders with the BigFolder facet are shown\n      without any children.\n    </documentation>\n\n    <treeManagerPlugin name=\"navigation\">\n      <leafFilterClass>\n        org.nuxeo.ecm.webapp.tree.BigFolderLeafFilter\n      </leafFilterClass>\n      <pageProvider>tree_children</pageProvider>\n    </treeManagerPlugin>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.treeManager.contrib",
          "name": "org.nuxeo.ecm.platform.treeManager.contrib",
          "requirements": [],
          "resolutionOrder": 626,
          "services": [],
          "startOrder": 534,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.treeManager.contrib\">\n\n  <documentation>Default configuration for Nuxeo EP tree</documentation>\n\n  <extension target=\"org.nuxeo.ecm.platform.treeManager\" point=\"plugin\">\n\n    <documentation>\n      Default configuration for the Nuxeo EP tree.\n\n      Displays only Folderish objects, not marked as hidden in navigation, and\n      sorts by dc:title property. Folders with the BigFolder facet are shown\n      without any children.\n    </documentation>\n\n    <treeManagerPlugin name=\"navigation\">\n      <leafFilterClass>\n        org.nuxeo.ecm.webapp.tree.BigFolderLeafFilter\n      </leafFilterClass>\n      <pageProvider>tree_children</pageProvider>\n    </treeManagerPlugin>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/nxtreemanager-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.debug.action/Contributions/org.nuxeo.ecm.webapp.seam.debug.action--actions",
              "id": "org.nuxeo.ecm.webapp.seam.debug.action--actions",
              "registrationOrder": 20,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action enabled=\"true\" id=\"seamReload\" label=\"Reload Seam\" link=\"#{seamReload.doReload}\" order=\"50\">\n      <category>USER_MENU_ACTIONS</category>\n      <filter-id>seamHotReloadIsEnabled</filter-id>\n    </action>\n\n    <action enabled=\"true\" id=\"devModeFlush\" label=\"Dev mode: force flush\" link=\"#{seamReload.doFlush}\" order=\"100\">\n      <category>USER_MENU_ACTIONS</category>\n      <filter-id>devModeEnabledForAdmin</filter-id>\n    </action>\n\n    <action id=\"activateLayoutDevMode\" label=\"Activate UI Development mode\" link=\"#{nuxeoLayoutManagerBean.setDevModeSet(true)}\" order=\"100\">\n      <category>USER_SERVICES</category>\n      <filter-id>layoutDevModeDisabled</filter-id>\n    </action>\n\n    <action id=\"deactivateLayoutDevMode\" label=\"Deactivate UI Development mode\" link=\"#{nuxeoLayoutManagerBean.setDevModeSet(false)}\" order=\"100\">\n      <category>USER_SERVICES</category>\n      <filter-id>layoutDevModeEnabled</filter-id>\n    </action>\n\n    <!-- NXP-7025: disable pdf export on doc -->\n    <!--\n      <action id=\"pdfExport\" link=\"pdf\" order=\"18\"\n      label=\"label.exportview.pdfExport\" icon=\"/icons/pdf_export.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      </action>\n    -->\n\n    <action icon=\"/icons/pdf_export.png\" id=\"exportViewPDFExport\" label=\"label.exportview.pdfExport\" link=\"#{restHelper.getDocumentUrl(currentDocument, 'pdf', true)}\" order=\"0\">\n      <category>DOCUMENT_EXPORT_VIEW_ACTION</category>\n    </action>\n\n    <action icon=\"/icons/action_export_zip.gif\" id=\"exportViewZipBlobExport\" label=\"label.exportview.zipBlobExport\" link=\"#{clipboardActions.exportWorklistAsZip(currentDocument)}\">\n      <category>DOCUMENT_EXPORT_VIEW_COMMAND_ACTION</category>\n    </action>\n\n    <!-- Contextual tools buttons contrib NXP-9039 -->\n    <action icon=\"/icons/contextual_menu/unlocked.png\" id=\"documentLock\" label=\"command.lock\" link=\"#{lockActions.lockCurrentDocument}\" order=\"10\" type=\"link\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>can_lock</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action icon=\"/icons/contextual_menu/locked.png\" id=\"documentUnlock\" label=\"command.unlock\" link=\"#{lockActions.unlockCurrentDocument}\" order=\"10\" type=\"link\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>can_unlock</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action accessKey=\"k\" icon=\"/icons/contextual_menu/share.png\" id=\"permalinkAction\" label=\"label.permalink\" order=\"20\" type=\"fancybox\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <properties>\n        <property name=\"include\">/incl/permalink_box.xhtml</property>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action icon=\"/icons/contextual_menu/subscribe.png\" id=\"subscribesAllDocNotifications\" label=\"label.subscriptions.follow\" link=\"#{subscriptionAction.updateAllSubscriptions}\" order=\"40\" type=\"link\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>hasNoSubscriptions</filter-id>\n      <filter-id>canSubscribe</filter-id>\n      <filter-id>isNotVersion</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action icon=\"/icons/contextual_menu/unsubscribe.png\" id=\"unsubscribesAllDocNotifications\" label=\"label.subscriptions.unfollow\" link=\"#{subscriptionAction.updateAllSubscriptions}\" order=\"40\" type=\"link\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>hasSubscriptions</filter-id>\n      <filter-id>canSubscribe</filter-id>\n      <filter-id>isNotVersion</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action icon=\"/icons/action_add.gif\" id=\"addCurrentDocumentToWorklist\" immediate=\"true\" label=\"help.command.clipboard.addworklist\" link=\"#{operationActionBean.doOperation('addCurrentDocumentToWorklist')}\" order=\"60\" type=\"link\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>not_folder</filter-id>\n      <filter-id>not_anonymous</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action icon=\"/icons/printer.gif\" id=\"print\" label=\"label.print\" link=\"#{restHelper.doPrint(themeActions.defaultTheme)}\" order=\"70\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <properties>\n        <property name=\"target\">_blank</property>\n      </properties>\n    </action>\n\n    <action id=\"restoreVersion\" immediate=\"true\" label=\"command.undeleteDocs\" link=\"#{deleteActions.restoreCurrentDocument}\" order=\"1\">\n      <category>DOCUMENT_SUMMARY_CUSTOM_ACTIONS</category>\n      <filter-id>restoreVersionDisplay</filter-id>\n    </action>\n\n    <action icon=\"/icons/pdf.png\" id=\"blobToPDF\" label=\"label.document.generatePdf\" link=\"#{conversionActions.generatePdfFileFromBlobHolder(currentDocument, currentDocumentAsBlobHolder)}\" order=\"200\">\n      <category>BLOB_ACTIONS</category>\n      <filter-id>isMainBlob</filter-id>\n      <filter-id>isExportableToPDF</filter-id>\n    </action>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.debug.action/Contributions/org.nuxeo.ecm.webapp.seam.debug.action--filters",
              "id": "org.nuxeo.ecm.webapp.seam.debug.action--filters",
              "registrationOrder": 17,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter id=\"restoreVersionDisplay\">\n      <rule grant=\"true\">\n        <condition>#{deleteActions.restoreActionDisplay()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"devModeEnabledForAdmin\">\n      <rule grant=\"true\">\n        <condition>#{seamReload.getCanTriggerFlush()}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"seamHotReloadIsEnabled\">\n      <rule grant=\"true\">\n        <condition>#{seamHotReloadIsEnabled}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"layoutDevModeEnabled\">\n      <rule grant=\"true\">\n        <condition>#{nxDevModeSet and nuxeoLayoutManagerBean.devModeSet}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"layoutDevModeDisabled\">\n      <rule grant=\"true\">\n        <condition>#{nxDevModeSet and not nuxeoLayoutManagerBean.devModeSet}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isNotVersion\">\n      <rule grant=\"true\">\n        <condition>!document.isVersion()</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasSubscriptions\">\n      <rule grant=\"true\">\n        <condition>#{subscriptionAction.getSelectedNotifications().size() &gt; 0}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasNoSubscriptions\">\n      <rule grant=\"true\">\n        <condition>#{subscriptionAction.getSelectedNotifications().size() == 0}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canSubscribe\">\n      <rule grant=\"false\">\n        <type>Domain</type>\n        <type>WorkspaceRoot</type>\n      </rule>\n    </filter>\n\n    <filter id=\"documentHasBlobs\">\n      <rule grant=\"true\">\n        <condition>\n          #{popupHelper.isDocumentHasBlobs(document)}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasNote\">\n      <rule grant=\"true\">\n        <schema>note</schema>\n      </rule>\n    </filter>\n\n    <filter id=\"notHasNote\">\n      <rule grant=\"false\">\n        <schema>note</schema>\n      </rule>\n    </filter>\n\n    <filter id=\"denyForFile\">\n      <rule grant=\"false\">\n        <type>File</type>\n      </rule>\n    </filter>\n\n    <filter id=\"hasDublincore\">\n      <rule grant=\"true\">\n        <schema>dublincore</schema>\n      </rule>\n    </filter>\n\n    <filter id=\"canToggleLayoutToEditMode\">\n      <documentation>\n        <p>\n          Filter used by the \"toggleableLayoutWithForms\" widget type\n          to check\n          wether the \"edit\" button should be displayed.\n        </p>\n        <p>\n          This filter is a combination of default filters \"edit\" and\n          \"mutable_document\" usually used to control rendering of the \"edit\" tab\n          on document views.\n        </p>\n        @since 5.6\n      </documentation>\n      <rule grant=\"true\">\n        <permission>Write</permission>\n      </rule>\n      <rule grant=\"false\">\n        <facet>Immutable</facet>\n      </rule>\n      <rule grant=\"false\">\n        <condition>\n          document.isTrashed()\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isMainBlob\">\n      <rule grant=\"true\">\n        <condition>#{blobXPath == blobHolderGenerator.getBlobHolder(document).xpath}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isExportableToPDF\">\n      <rule grant=\"true\">\n        <condition>#{conversionActions.isExportableToPDF(blob)}</condition>\n      </rule>\n    </filter>\n\n    <!--\n    Not used since 10.2, kept it for backward compatibility\n    -->\n    <filter id=\"canFollow\">\n      <rule grant=\"true\">\n        <condition>#{subscriptionAction.canFollow()}</condition>\n      </rule>\n    </filter>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--typeCompatibility",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.debug.action/Contributions/org.nuxeo.ecm.webapp.seam.debug.action--typeCompatibility",
              "id": "org.nuxeo.ecm.webapp.seam.debug.action--typeCompatibility",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"typeCompatibility\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <typeCompatibility type=\"link\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <category>DOCUMENT_HEADER_ACTIONS_LIST</category>\n      <category>DEFAULT_LIST</category>\n      <category>CLIPBOARD_LIST</category>\n      <category>CURRENT_SELECTION_COPY</category>\n      <category>CLIPBOARD_PASTE</category>\n      <category>CURRENT_SELECTION_ADDTOLIST</category>\n      <category>CURRENT_SELECTION_TRASH</category>\n      <category>CREATE_DOCUMENT_FORM</category>\n      <category>EDIT_DOCUMENT_FORM</category>\n      <category>USER_SERVICES</category>\n      <category>USER_MENU_ACTIONS</category>\n      <category>SUBVIEW_UPPER_LIST</category>\n    </typeCompatibility>\n\n    <typeCompatibility type=\"bare_link\">\n      <category>DOCUMENT_HEADER_ACTIONS_LIST_HREF</category>\n      <category>SUBVIEW_UPPER_LIST_HREF</category>\n    </typeCompatibility>\n\n    <typeCompatibility type=\"rest_document_link\">\n      <category>VIEW_ACTION_LIST</category>\n      <category>TAB_MANAGE_sub_tab</category>\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n    </typeCompatibility>\n\n    <typeCompatibility type=\"main_tab\">\n      <category>MAIN_TABS</category>\n    </typeCompatibility>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.debug.action",
          "name": "org.nuxeo.ecm.webapp.seam.debug.action",
          "requirements": [],
          "resolutionOrder": 627,
          "services": [],
          "startOrder": 667,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.webapp.seam.debug.action\">\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"seamReload\" link=\"#{seamReload.doReload}\" enabled=\"true\"\n      label=\"Reload Seam\" order=\"50\">\n      <category>USER_MENU_ACTIONS</category>\n      <filter-id>seamHotReloadIsEnabled</filter-id>\n    </action>\n\n    <action id=\"devModeFlush\" link=\"#{seamReload.doFlush}\" enabled=\"true\"\n      label=\"Dev mode: force flush\" order=\"100\">\n      <category>USER_MENU_ACTIONS</category>\n      <filter-id>devModeEnabledForAdmin</filter-id>\n    </action>\n\n    <action id=\"activateLayoutDevMode\" link=\"#{nuxeoLayoutManagerBean.setDevModeSet(true)}\"\n      label=\"Activate UI Development mode\" order=\"100\">\n      <category>USER_SERVICES</category>\n      <filter-id>layoutDevModeDisabled</filter-id>\n    </action>\n\n    <action id=\"deactivateLayoutDevMode\" link=\"#{nuxeoLayoutManagerBean.setDevModeSet(false)}\"\n      label=\"Deactivate UI Development mode\" order=\"100\">\n      <category>USER_SERVICES</category>\n      <filter-id>layoutDevModeEnabled</filter-id>\n    </action>\n\n    <!-- NXP-7025: disable pdf export on doc -->\n    <!--\n      <action id=\"pdfExport\" link=\"pdf\" order=\"18\"\n      label=\"label.exportview.pdfExport\" icon=\"/icons/pdf_export.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      </action>\n    -->\n\n    <action id=\"exportViewPDFExport\"\n      link=\"#{restHelper.getDocumentUrl(currentDocument, 'pdf', true)}\" order=\"0\"\n      label=\"label.exportview.pdfExport\" icon=\"/icons/pdf_export.png\">\n      <category>DOCUMENT_EXPORT_VIEW_ACTION</category>\n    </action>\n\n    <action id=\"exportViewZipBlobExport\" link=\"#{clipboardActions.exportWorklistAsZip(currentDocument)}\"\n      label=\"label.exportview.zipBlobExport\" icon=\"/icons/action_export_zip.gif\">\n      <category>DOCUMENT_EXPORT_VIEW_COMMAND_ACTION</category>\n    </action>\n\n    <!-- Contextual tools buttons contrib NXP-9039 -->\n    <action id=\"documentLock\" link=\"#{lockActions.lockCurrentDocument}\"\n      order=\"10\" label=\"command.lock\" type=\"link\" icon=\"/icons/contextual_menu/unlocked.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>can_lock</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action id=\"documentUnlock\" link=\"#{lockActions.unlockCurrentDocument}\"\n      order=\"10\" label=\"command.unlock\" type=\"link\" icon=\"/icons/contextual_menu/locked.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>can_unlock</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action id=\"permalinkAction\" order=\"20\" label=\"label.permalink\" type=\"fancybox\"\n      icon=\"/icons/contextual_menu/share.png\" accessKey=\"k\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <properties>\n        <property name=\"include\">/incl/permalink_box.xhtml</property>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action id=\"subscribesAllDocNotifications\" link=\"#{subscriptionAction.updateAllSubscriptions}\"\n      order=\"40\" label=\"label.subscriptions.follow\" type=\"link\"\n      icon=\"/icons/contextual_menu/subscribe.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>hasNoSubscriptions</filter-id>\n      <filter-id>canSubscribe</filter-id>\n      <filter-id>isNotVersion</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action id=\"unsubscribesAllDocNotifications\" link=\"#{subscriptionAction.updateAllSubscriptions}\"\n      order=\"40\" label=\"label.subscriptions.unfollow\" type=\"link\"\n      icon=\"/icons/contextual_menu/unsubscribe.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>hasSubscriptions</filter-id>\n      <filter-id>canSubscribe</filter-id>\n      <filter-id>isNotVersion</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action id=\"addCurrentDocumentToWorklist\"\n      link=\"#{operationActionBean.doOperation('addCurrentDocumentToWorklist')}\"\n      order=\"60\" label=\"help.command.clipboard.addworklist\" type=\"link\"\n      icon=\"/icons/action_add.gif\" immediate=\"true\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>not_folder</filter-id>\n      <filter-id>not_anonymous</filter-id>\n      <properties>\n        <property name=\"ajaxSupport\">true</property>\n      </properties>\n    </action>\n\n    <action id=\"print\" link=\"#{restHelper.doPrint(themeActions.defaultTheme)}\"\n      order=\"70\" label=\"label.print\" icon=\"/icons/printer.gif\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <properties>\n        <property name=\"target\">_blank</property>\n      </properties>\n    </action>\n\n    <action id=\"restoreVersion\" link=\"#{deleteActions.restoreCurrentDocument}\"\n      order=\"1\" label=\"command.undeleteDocs\" immediate=\"true\">\n      <category>DOCUMENT_SUMMARY_CUSTOM_ACTIONS</category>\n      <filter-id>restoreVersionDisplay</filter-id>\n    </action>\n\n    <action id=\"blobToPDF\" link=\"#{conversionActions.generatePdfFileFromBlobHolder(currentDocument, currentDocumentAsBlobHolder)}\"\n            order=\"200\" label=\"label.document.generatePdf\" icon=\"/icons/pdf.png\">\n      <category>BLOB_ACTIONS</category>\n      <filter-id>isMainBlob</filter-id>\n      <filter-id>isExportableToPDF</filter-id>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"restoreVersionDisplay\">\n      <rule grant=\"true\">\n        <condition>#{deleteActions.restoreActionDisplay()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"devModeEnabledForAdmin\">\n      <rule grant=\"true\">\n        <condition>#{seamReload.getCanTriggerFlush()}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"seamHotReloadIsEnabled\">\n      <rule grant=\"true\">\n        <condition>#{seamHotReloadIsEnabled}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"layoutDevModeEnabled\">\n      <rule grant=\"true\">\n        <condition>#{nxDevModeSet and nuxeoLayoutManagerBean.devModeSet}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"layoutDevModeDisabled\">\n      <rule grant=\"true\">\n        <condition>#{nxDevModeSet and not nuxeoLayoutManagerBean.devModeSet}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isNotVersion\">\n      <rule grant=\"true\">\n        <condition>!document.isVersion()</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasSubscriptions\">\n      <rule grant=\"true\">\n        <condition>#{subscriptionAction.getSelectedNotifications().size() > 0}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasNoSubscriptions\">\n      <rule grant=\"true\">\n        <condition>#{subscriptionAction.getSelectedNotifications().size() == 0}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canSubscribe\">\n      <rule grant=\"false\">\n        <type>Domain</type>\n        <type>WorkspaceRoot</type>\n      </rule>\n    </filter>\n\n    <filter id=\"documentHasBlobs\">\n      <rule grant=\"true\">\n        <condition>\n          #{popupHelper.isDocumentHasBlobs(document)}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"hasNote\">\n      <rule grant=\"true\">\n        <schema>note</schema>\n      </rule>\n    </filter>\n\n    <filter id=\"notHasNote\">\n      <rule grant=\"false\">\n        <schema>note</schema>\n      </rule>\n    </filter>\n\n    <filter id=\"denyForFile\">\n      <rule grant=\"false\">\n        <type>File</type>\n      </rule>\n    </filter>\n\n    <filter id=\"hasDublincore\">\n      <rule grant=\"true\">\n        <schema>dublincore</schema>\n      </rule>\n    </filter>\n\n    <filter id=\"canToggleLayoutToEditMode\">\n      <documentation>\n        <p>\n          Filter used by the \"toggleableLayoutWithForms\" widget type\n          to check\n          wether the \"edit\" button should be displayed.\n        </p>\n        <p>\n          This filter is a combination of default filters \"edit\" and\n          \"mutable_document\" usually used to control rendering of the \"edit\" tab\n          on document views.\n        </p>\n        @since 5.6\n      </documentation>\n      <rule grant=\"true\">\n        <permission>Write</permission>\n      </rule>\n      <rule grant=\"false\">\n        <facet>Immutable</facet>\n      </rule>\n      <rule grant=\"false\">\n        <condition>\n          document.isTrashed()\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isMainBlob\">\n      <rule grant=\"true\">\n        <condition>#{blobXPath == blobHolderGenerator.getBlobHolder(document).xpath}</condition>\n      </rule>\n    </filter>\n\n    <filter id=\"isExportableToPDF\">\n      <rule grant=\"true\">\n        <condition>#{conversionActions.isExportableToPDF(blob)}</condition>\n      </rule>\n    </filter>\n\n    <!--\n    Not used since 10.2, kept it for backward compatibility\n    -->\n    <filter id=\"canFollow\">\n      <rule grant=\"true\">\n        <condition>#{subscriptionAction.canFollow()}</condition>\n      </rule>\n    </filter>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"typeCompatibility\">\n\n    <typeCompatibility type=\"link\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <category>DOCUMENT_HEADER_ACTIONS_LIST</category>\n      <category>DEFAULT_LIST</category>\n      <category>CLIPBOARD_LIST</category>\n      <category>CURRENT_SELECTION_COPY</category>\n      <category>CLIPBOARD_PASTE</category>\n      <category>CURRENT_SELECTION_ADDTOLIST</category>\n      <category>CURRENT_SELECTION_TRASH</category>\n      <category>CREATE_DOCUMENT_FORM</category>\n      <category>EDIT_DOCUMENT_FORM</category>\n      <category>USER_SERVICES</category>\n      <category>USER_MENU_ACTIONS</category>\n      <category>SUBVIEW_UPPER_LIST</category>\n    </typeCompatibility>\n\n    <typeCompatibility type=\"bare_link\">\n      <category>DOCUMENT_HEADER_ACTIONS_LIST_HREF</category>\n      <category>SUBVIEW_UPPER_LIST_HREF</category>\n    </typeCompatibility>\n\n    <typeCompatibility type=\"rest_document_link\">\n      <category>VIEW_ACTION_LIST</category>\n      <category>TAB_MANAGE_sub_tab</category>\n      <category>TAB_CONTENT_HISTORY_sub_tab</category>\n    </typeCompatibility>\n\n    <typeCompatibility type=\"main_tab\">\n      <category>MAIN_TABS</category>\n    </typeCompatibility>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/actions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService--restlets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.debug.restAPI.contrib/Contributions/org.nuxeo.ecm.webapp.seam.debug.restAPI.contrib--restlets",
              "id": "org.nuxeo.ecm.webapp.seam.debug.restAPI.contrib--restlets",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
                "name": "org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"restlets\" target=\"org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService\">\n\n    <restletPlugin class=\"org.nuxeo.ecm.webapp.seam.NuxeoSeamHotReloadRestTrigger\" enabled=\"true\" name=\"seamReloadTrigger\" useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/seamReload</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.debug.restAPI.contrib",
          "name": "org.nuxeo.ecm.webapp.seam.debug.restAPI.contrib",
          "requirements": [],
          "resolutionOrder": 628,
          "services": [],
          "startOrder": 668,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.webapp.seam.debug.restAPI.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService\"\n      point=\"restlets\">\n\n    <restletPlugin\n        name=\"seamReloadTrigger\"\n        class=\"org.nuxeo.ecm.webapp.seam.NuxeoSeamHotReloadRestTrigger\"\n        enabled=\"true\"\n        useSeam=\"false\">\n      <urlPatterns>\n        <urlPattern>/seamReload</urlPattern>\n      </urlPatterns>\n    </restletPlugin>\n\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/restAPI-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.webapp.directory.DirectoryTreeService",
          "documentation": "\n    The DirectoryTreeService is used to build tree-shaped explorer like\n    navigation menus (usging the &lt;richfaces:tree /&gt; components) from a hierarchical\n    set of directories (with schemas \"vocabulary\" and \"xvocabulary\").\n\n    DirectoryTreeDescriptors also reference a QueryModel to update on node selection\n    and a JSF view to display on node selection.\n\n    This is typically used to display results of a query where documents are filtered\n    upon a hierachical property (such as the dc:coverage metadata for instance).\n\n    @author Olivier Grisel (og@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe DirectoryTreeService is used to build tree-shaped explorer like\nnavigation menus (usging the &lt;richfaces:tree /&gt; components) from a hierarchical\nset of directories (with schemas &#34;vocabulary&#34; and &#34;xvocabulary&#34;).\n</p><p>\nDirectoryTreeDescriptors also reference a QueryModel to update on node selection\nand a JSF view to display on node selection.\n</p><p>\nThis is typically used to display results of a query where documents are filtered\nupon a hierachical property (such as the dc:coverage metadata for instance).\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.webapp.directory.DirectoryTreeService",
              "descriptors": [
                "org.nuxeo.ecm.webapp.directory.DirectoryTreeDescriptor"
              ],
              "documentationHtml": "",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.directory.DirectoryTreeService/ExtensionPoints/org.nuxeo.ecm.webapp.directory.DirectoryTreeService--trees",
              "id": "org.nuxeo.ecm.webapp.directory.DirectoryTreeService--trees",
              "label": "trees (org.nuxeo.ecm.webapp.directory.DirectoryTreeService)",
              "name": "trees",
              "version": "2021.57.3"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.directory.DirectoryTreeService",
          "name": "org.nuxeo.ecm.webapp.directory.DirectoryTreeService",
          "requirements": [
            "org.nuxeo.ecm.platform.actions.ActionService"
          ],
          "resolutionOrder": 629,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.webapp.directory.DirectoryTreeService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.directory.DirectoryTreeService/Services/org.nuxeo.ecm.webapp.directory.DirectoryTreeService",
              "id": "org.nuxeo.ecm.webapp.directory.DirectoryTreeService",
              "overriden": false,
              "version": "2021.57.3"
            }
          ],
          "startOrder": 920,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.webapp.directory.DirectoryTreeService\">\n\n  <!-- since 6.0, automatically registers actions -->\n  <require>org.nuxeo.ecm.platform.actions.ActionService</require>\n\n  <documentation>\n    The DirectoryTreeService is used to build tree-shaped explorer like\n    navigation menus (usging the &lt;richfaces:tree /&gt; components) from a hierarchical\n    set of directories (with schemas \"vocabulary\" and \"xvocabulary\").\n\n    DirectoryTreeDescriptors also reference a QueryModel to update on node selection\n    and a JSF view to display on node selection.\n\n    This is typically used to display results of a query where documents are filtered\n    upon a hierachical property (such as the dc:coverage metadata for instance).\n\n    @author Olivier Grisel (og@nuxeo.com)\n  </documentation>\n\n  <!-- XXX JC : see why this requirement\n  <require>org.nuxeo.ecm.directory.DirectoryServiceImpl</require>\n -->\n  <implementation\n          class=\"org.nuxeo.ecm.webapp.directory.DirectoryTreeService\" />\n  <service>\n    <provide interface=\"org.nuxeo.ecm.webapp.directory.DirectoryTreeService\" />\n  </service>\n  <extension-point name=\"trees\">\n    <object\n            class=\"org.nuxeo.ecm.webapp.directory.DirectoryTreeDescriptor\" />\n  </extension-point>\n  <documentation>\n    Registry for DirectoryTreeDescriptor instances used to build\n    DirectoryTreeNodes.\n\n    Extension point supports override and enable attribute in descriptor\n\n    @author Olivier Grisel (og@nuxeo.com)\n  </documentation>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/directorytreemanager-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
          "documentation": "\n    The DocumentsLists service registers lists of documents.\n    These lists of documents can be used for :\n    - Clipboard : lists of documents that can be copied or pasted\n    - Workling List : the list of documents user is working on (mass processing)\n    - List of selected document inside a container\n\n    @author Thierry Delprat (td@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe DocumentsLists service registers lists of documents.\nThese lists of documents can be used for :\n- Clipboard : lists of documents that can be copied or pasted\n- Workling List : the list of documents user is working on (mass processing)\n- List of selected document inside a container\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
              "descriptors": [
                "org.nuxeo.ecm.webapp.documentsLists.DocumentsListDescriptor"
              ],
              "documentationHtml": "",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService/ExtensionPoints/org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService--list",
              "id": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService--list",
              "label": "list (org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService)",
              "name": "list",
              "version": "2021.57.3"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
          "name": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
          "requirements": [],
          "resolutionOrder": 630,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService/Services/org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
              "id": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
              "overriden": false,
              "version": "2021.57.3"
            }
          ],
          "startOrder": 921,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService\">\n  <implementation\n          class=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService\" />\n  <service>\n    <provide interface=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService\" />\n  </service>\n\n  <documentation>\n    The DocumentsLists service registers lists of documents.\n    These lists of documents can be used for :\n    - Clipboard : lists of documents that can be copied or pasted\n    - Workling List : the list of documents user is working on (mass processing)\n    - List of selected document inside a container\n\n    @author Thierry Delprat (td@nuxeo.com)\n  </documentation>\n  <extension-point name=\"list\">\n    <object\n            class=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListDescriptor\" />\n  </extension-point>\n  <documentation>\n    Registry for new Lists\n    @author Thierry Delprat (td@nuxeo.com)\n  </documentation>\n</component>\n",
          "xmlFileName": "/OSGI-INF/documentslists-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent--remotableSeamBeans",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent.baseContrib/Contributions/org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent.baseContrib--remotableSeamBeans",
              "id": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent.baseContrib--remotableSeamBeans",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent",
                "name": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"remotableSeamBeans\" target=\"org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent\">\n      <remotableSeamBeans>\n          <beans>\n              <bean>clipboardActions</bean>\n          </beans>\n      </remotableSeamBeans>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent.baseContrib",
          "name": "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent.baseContrib",
          "requirements": [
            "org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent"
          ],
          "resolutionOrder": 631,
          "services": [],
          "startOrder": 546,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent.baseContrib\">\n\n  <require>org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.SeamRemotingJSBuilderComponent\" point=\"remotableSeamBeans\">\n      <remotableSeamBeans>\n          <beans>\n              <bean>clipboardActions</bean>\n          </beans>\n      </remotableSeamBeans>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/seamremotingjsbuilder-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.layouts.search.contrib/Contributions/org.nuxeo.ecm.webapp.layouts.search.contrib--widgets",
              "id": "org.nuxeo.ecm.webapp.layouts.search.contrib--widgets",
              "registrationOrder": 6,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"search_title\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.title</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:title</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_description\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.description</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:description</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_nature\" type=\"suggestManyDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.nature</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:nature</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"minChars\">0</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"directoryName\">nature</property>\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_subjects\" type=\"suggestManyDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.subject</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:subjects</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"dbl10n\">true</property>\n        <property name=\"minChars\">0</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"directoryName\">l10nsubjects</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_rights\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.rights</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:rights</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_source\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.source</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:source</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_coverage\" type=\"suggestManyDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.coverage</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:coverage</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"dbl10n\">true</property>\n        <property name=\"minChars\">0</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"directoryName\">l10ncoverage</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_created_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.creationDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:created_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_created_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:created_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_modified_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.modificationDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:modified_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_modified_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:modified_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_issued_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.issueDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:issued_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_issued_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:issued_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_validated_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.validationDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:valid_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_validated_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:valid_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_expired_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.expirationDateBetween</label>\n      </labels>\n      <fields>\n        <field>search:expired_min</field>\n      </fields>\n      <translated>true</translated>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_expired_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <fields>\n        <field>search:expired_max</field>\n      </fields>\n      <translated>true</translated>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_format\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.format</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:format</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_path\" type=\"select_path_tree\">\n      <labels>\n        <label mode=\"any\">label.advanced_search.searchpath</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:searchpath</field>\n      </fields>\n      <properties>\n        <property name=\"labelOpenPopUp\">label.relation.addPath</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_language\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.language</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:language</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_deleted_documents\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.search.deleted.documents</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:currentLifeCycleState</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">\n          /widgets/search_deleted_documents_widget.xhtml\n        </property>\n      </properties>\n      <widgetModes>\n        <mode value=\"any\">\n          #{nxu:test(deleteActions.trashManagementEnabled, mode, 'hidden')}\n        </mode>\n      </widgetModes>\n    </widget>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.layouts.search.contrib",
          "name": "org.nuxeo.ecm.webapp.layouts.search.contrib",
          "requirements": [],
          "resolutionOrder": 632,
          "services": [],
          "startOrder": 663,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.webapp.layouts.search.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"search_title\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.title</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:title</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_description\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.description</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:description</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_nature\" type=\"suggestManyDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.nature</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:nature</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"minChars\">0</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"directoryName\">nature</property>\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_subjects\" type=\"suggestManyDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.subject</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:subjects</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"dbl10n\">true</property>\n        <property name=\"minChars\">0</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"directoryName\">l10nsubjects</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_rights\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.rights</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:rights</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_source\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.source</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:source</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_coverage\" type=\"suggestManyDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.coverage</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:coverage</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"width\">100%</property>\n        <property name=\"dbl10n\">true</property>\n        <property name=\"minChars\">0</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"directoryName\">l10ncoverage</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_created_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.creationDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:created_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_created_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:created_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_modified_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.modificationDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:modified_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_modified_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:modified_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_issued_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.issueDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:issued_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_issued_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:issued_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_validated_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.validationDateBetween</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:valid_min</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_validated_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:valid_max</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_expired_min\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.expirationDateBetween</label>\n      </labels>\n      <fields>\n        <field>search:expired_min</field>\n      </fields>\n      <translated>true</translated>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">00:00</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_expired_max\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.search.and</label>\n      </labels>\n      <fields>\n        <field>search:expired_max</field>\n      </fields>\n      <translated>true</translated>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateAndTimeFormatter()}</property>\n      </properties>\n      <properties widgetMode=\"edit\">\n        <property name=\"format\">#{nxu:basicDateAndTimeFormatter()}</property>\n        <property name=\"defaultTime\">23:59</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_format\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.format</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:format</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_path\" type=\"select_path_tree\">\n      <labels>\n        <label mode=\"any\">label.advanced_search.searchpath</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:searchpath</field>\n      </fields>\n      <properties>\n        <property name=\"labelOpenPopUp\">label.relation.addPath</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_language\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.language</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:language</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"search_deleted_documents\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.search.deleted.documents</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>search:currentLifeCycleState</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">\n          /widgets/search_deleted_documents_widget.xhtml\n        </property>\n      </properties>\n      <widgetModes>\n        <mode value=\"any\">\n          #{nxu:test(deleteActions.trashManagementEnabled, mode, 'hidden')}\n        </mode>\n      </widgetModes>\n    </widget>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/search-layouts-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.widgts/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.widgts--widgettypes",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.widgts--widgettypes",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widgetType name=\"life_cycle_transitions\">\n      <configuration>\n        <title>Life cycle transitions</title>\n        <description>\n          This widget type displays a selection of available life cycle\n          transitions\n          given a life cycle state and a life cycle policy.\n          <br/>\n          It requires the configuration of the first field to map to a String\n          value storing the chosen life cycle transition.\n          <br/>\n          It needs the following properties configuration:\n          <ul>\n            <li>\n              lifeCycleName: represents the life cycle from which to retrieve\n              the transitions.\n            </li>\n            <li>\n              currentLifeCycleState: the current state from where to start\n              finding the available transitions.\n            </li>\n          </ul>\n          <br/>\n          A standard definition could be:\n          <div class=\"pre\">\n            &lt;widget name=\"life_cycle_transitions\"\n            type=\"life_cycle_transitions\"&gt;\n            &lt;labels&gt;\n            &lt;label mode=\"any\"&gt;&lt;/label&gt;\n            &lt;/labels&gt;\n            &lt;fields&gt;\n            &lt;field&gt;contextData['lifeCycleTransition']&lt;/field&gt;\n            &lt;/fields&gt;\n            &lt;properties widgetMode=\"edit\"&gt;\n            &lt;property\n            name=\"currentLifeCycleState\"&gt;#{layoutValue.currentLifeCycleState}&lt;/property&gt;\n            &lt;property\n            name=\"lifeCycleName\"&gt;#{layoutValue.lifeCyclePolicy}&lt;/property&gt;\n            &lt;/properties&gt;\n            &lt;/widget&gt; </div>\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"life_cycle_transitions_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>lifeCycleName</widget>\n                </row>\n                <row>\n                  <widget>currentLifeCycleState</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n              <widget name=\"lifeCycleName\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Lifecycle name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The lifecycle containing transitions to\n                    choose.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>lifeCycleName</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"currentLifeCycleState\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Current life cycle state</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The life cycle state to choose transitions\n                    from.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>currentLifeCycleState</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/life_cycle_transitions_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"image\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>Image</title>\n        <description>\n          <p>\n            The image widget displays a file uploader/editor in create or edit\n            mode, with additional message tag for errors, and an &lt;img&gt; tag\n            displaying the image in other modes.\n          </p>\n          <li>\n            width: the width of the img tag in view mode.\n          </li>\n          <li>\n            height: the height of the img tag in view mode.\n          </li>\n        </description>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"image_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget>width</widget>\n                </row>\n                <row>\n                  <widget>height</widget>\n                </row>\n              </rows>\n              <widget name=\"width\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Width</label>\n                </labels>\n                <fields>\n                  <field>width</field>\n                </fields>\n              </widget>\n              <widget name=\"height\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Height</label>\n                </labels>\n                <fields>\n                  <field>height</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"image_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget>acceptedExtensions</widget>\n                </row>\n              </rows>\n              <widget name=\"acceptedExtensions\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Accepted extensions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    A comma separated list of supported file\n                    extensions. Default value: '.jpg, .jpeg, .png, .gif, .tif,\n                    .tiff, .psd, .raw, .ai, .svg, .ps, .eps, .epsi, .epsf, .xcf,\n                    .bmp'.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>acceptedExtensions</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>blob</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/image_widget_template.xhtml</property>\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.widgts/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.widgts--widgets",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.widgts--widgets",
              "registrationOrder": 7,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"life_cycle_transitions\" type=\"life_cycle_transitions\">\n\n      <documentation>\n        Default widget listing available life cycle transitions from the\n        document's current state and document's life cycle policy.\n        <br/>\n        The chosen transition is stored in the contextData of the document.\n      </documentation>\n\n      <labels>\n        <label mode=\"any\">label.life.cycle.changeFor</label>\n      </labels>\n      <fields>\n        <field>contextData['lifeCycleTransition']</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n        <mode value=\"view\">hidden</mode>\n      </widgetModes>\n      <properties widgetMode=\"edit\">\n        <property name=\"currentLifeCycleState\">#{layoutValue.currentLifeCycleState}</property>\n        <property name=\"lifeCycleName\">#{layoutValue.lifeCyclePolicy}</property>\n      </properties>\n    </widget>\n\n    <!-- group's layout widgets -->\n    <widget name=\"group_name\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupName</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">groupname</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">edit</mode>\n        <mode value=\"any\">hidden</mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n    <widget name=\"group_label\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupLabel</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">grouplabel</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n    <widget name=\"group_members\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.groupManager.userMembers</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">members</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"template\">\n          /widgets/user_suggestion_widget_template.xhtml\n        </property>\n        <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        <property name=\"operationId\">UserGroup.Suggestion</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"suggestionFormatter\">userEntryDefaultFormatter</property>\n        <property name=\"selectionFormatter\">userEntryDefaultFormatter</property>\n      </properties>\n    </widget>\n    <widget name=\"group_subgroups\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupMembers</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">subGroups</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"template\">\n          /widgets/user_suggestion_widget_template.xhtml\n        </property>\n        <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        <property name=\"operationId\">UserGroup.Suggestion</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"suggestionFormatter\">userEntryDefaultFormatter</property>\n        <property name=\"selectionFormatter\">userEntryDefaultFormatter</property>\n      </properties>\n    </widget>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.widgts",
          "name": "org.nuxeo.ecm.platform.forms.layouts.webapp.widgts",
          "requirements": [],
          "resolutionOrder": 633,
          "services": [],
          "startOrder": 337,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.forms.layouts.webapp.widgts\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"life_cycle_transitions\">\n      <configuration>\n        <title>Life cycle transitions</title>\n        <description>\n          This widget type displays a selection of available life cycle\n          transitions\n          given a life cycle state and a life cycle policy.\n          <br />\n          It requires the configuration of the first field to map to a String\n          value storing the chosen life cycle transition.\n          <br />\n          It needs the following properties configuration:\n          <ul>\n            <li>\n              lifeCycleName: represents the life cycle from which to retrieve\n              the transitions.\n            </li>\n            <li>\n              currentLifeCycleState: the current state from where to start\n              finding the available transitions.\n            </li>\n          </ul>\n          <br />\n          A standard definition could be:\n          <div class=\"pre\">\n            &lt;widget name=\"life_cycle_transitions\"\n            type=\"life_cycle_transitions\"&gt;\n            &lt;labels&gt;\n            &lt;label mode=\"any\"&gt;&lt;/label&gt;\n            &lt;/labels&gt;\n            &lt;fields&gt;\n            &lt;field&gt;contextData['lifeCycleTransition']&lt;/field&gt;\n            &lt;/fields&gt;\n            &lt;properties widgetMode=\"edit\"&gt;\n            &lt;property\n            name=\"currentLifeCycleState\"&gt;#{layoutValue.currentLifeCycleState}&lt;/property&gt;\n            &lt;property\n            name=\"lifeCycleName\"&gt;#{layoutValue.lifeCyclePolicy}&lt;/property&gt;\n            &lt;/properties&gt;\n            &lt;/widget&gt; </div>\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"life_cycle_transitions_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>lifeCycleName</widget>\n                </row>\n                <row>\n                  <widget>currentLifeCycleState</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n              <widget name=\"lifeCycleName\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Lifecycle name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The lifecycle containing transitions to\n                    choose.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>lifeCycleName</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"currentLifeCycleState\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Current life cycle state</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The life cycle state to choose transitions\n                    from.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>currentLifeCycleState</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/life_cycle_transitions_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"image\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>Image</title>\n        <description>\n          <p>\n            The image widget displays a file uploader/editor in create or edit\n            mode, with additional message tag for errors, and an &lt;img&gt; tag\n            displaying the image in other modes.\n          </p>\n          <li>\n            width: the width of the img tag in view mode.\n          </li>\n          <li>\n            height: the height of the img tag in view mode.\n          </li>\n        </description>\n        <properties>\n          <layouts mode=\"view\">\n            <layout name=\"image_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget>width</widget>\n                </row>\n                <row>\n                  <widget>height</widget>\n                </row>\n              </rows>\n              <widget name=\"width\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Width</label>\n                </labels>\n                <fields>\n                  <field>width</field>\n                </fields>\n              </widget>\n              <widget name=\"height\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Height</label>\n                </labels>\n                <fields>\n                  <field>height</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"image_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget>acceptedExtensions</widget>\n                </row>\n              </rows>\n              <widget name=\"acceptedExtensions\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Accepted extensions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    A comma separated list of supported file\n                    extensions. Default value: '.jpg, .jpeg, .png, .gif, .tif,\n                    .tiff, .psd, .raw, .ai, .svg, .ps, .eps, .epsi, .epsf, .xcf,\n                    .bmp'.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>acceptedExtensions</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>blob</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/image_widget_template.xhtml</property>\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"life_cycle_transitions\" type=\"life_cycle_transitions\">\n\n      <documentation>\n        Default widget listing available life cycle transitions from the\n        document's current state and document's life cycle policy.\n        <br />\n        The chosen transition is stored in the contextData of the document.\n      </documentation>\n\n      <labels>\n        <label mode=\"any\">label.life.cycle.changeFor</label>\n      </labels>\n      <fields>\n        <field>contextData['lifeCycleTransition']</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n        <mode value=\"view\">hidden</mode>\n      </widgetModes>\n      <properties widgetMode=\"edit\">\n        <property name=\"currentLifeCycleState\">#{layoutValue.currentLifeCycleState}</property>\n        <property name=\"lifeCycleName\">#{layoutValue.lifeCyclePolicy}</property>\n      </properties>\n    </widget>\n\n    <!-- group's layout widgets -->\n    <widget name=\"group_name\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupName</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">groupname</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">edit</mode>\n        <mode value=\"any\">hidden</mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n    <widget name=\"group_label\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupLabel</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">grouplabel</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n    <widget name=\"group_members\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.groupManager.userMembers</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">members</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"template\">\n          /widgets/user_suggestion_widget_template.xhtml\n        </property>\n        <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        <property name=\"operationId\">UserGroup.Suggestion</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"suggestionFormatter\">userEntryDefaultFormatter</property>\n        <property name=\"selectionFormatter\">userEntryDefaultFormatter</property>\n      </properties>\n    </widget>\n    <widget name=\"group_subgroups\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupMembers</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field schema=\"group\">subGroups</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"template\">\n          /widgets/user_suggestion_widget_template.xhtml\n        </property>\n        <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        <property name=\"operationId\">UserGroup.Suggestion</property>\n        <property name=\"hideHelpLabel\">true</property>\n        <property name=\"suggestionFormatter\">userEntryDefaultFormatter</property>\n        <property name=\"selectionFormatter\">userEntryDefaultFormatter</property>\n      </properties>\n    </widget>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/widgets-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.LayoutStore--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.base/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.base--widgets",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.base--widgets",
              "registrationOrder": 5,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "name": "org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\">\n\n    <widget name=\"displayObsoleteEntries\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display obsolete entries</label>\n      </labels>\n      <fields>\n        <field>displayObsoleteEntries</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_directory_name\" type=\"selectOneResource\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Directory Name</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the directory\n        </label>\n      </helpLabels>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <fields>\n        <field>directoryName</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n      </properties>\n      <properties mode=\"any\">\n        <property name=\"resourceName\">vocabularies</property>\n        <property name=\"includel10nDirectories\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"select2_directory_fetch_mode\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Fetch Mode</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the fetch mode for directory entries.\n          Directory entries can either be fetched if they start with the\n          search term or if thery contain the search term.\n          Available since 5.9.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>contains</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Starts with (default)\" itemValue=\"false\"/>\n        <option itemLabel=\"Contains\" itemValue=\"true\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select2_dbl10n\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Activate database localization</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Activate retrieval of localized labels in the\n          vocabulary database, when translations are held by the directory\n          itself, in fields with a label_[lang] pattern, and defaulting to\n          label_en. Available since 6.0.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dbl10n</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_canSelectParent\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Can select parent</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this option to allow selection of\n          intermediate\n          groups.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>canSelectParent</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_filterParent\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Filter parent</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this option to apply filter on\n          intermediate\n          groups.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>filterParent</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_dropdownOnArrow\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Dropdown on Arrow </label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this option to dropdown the suggestions only when clicking the arrow on\n          the right of the single suggestion widget. By default the suggestions are\n          dropped down wherever you click.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dropdownOnArrow</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_separator\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select2 separator</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Separator character or string used to delimit ids\n          in value attribute of the multi-valued selects.\n          The default delimiter is the , character.\n        </label>\n      </helpLabels>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n      <fields>\n        <field>separator</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_frequency\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select2 frequency</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Delay (in milliseconds) before sending a request\n          to the server after a character is typed.\n          Default value is 300ms.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>frequency</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_closeOnSelect\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select2 closeOnSelect</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n         If set to false the dropdown is not closed after a selection is made,\n         allowing for rapid selection of multiple items.\n         By default this option is set to true.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>closeOnSelect</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_directory_labelFieldName\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Label field name</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the Directory field that should be\n          used to\n          define the Label of entry.\n          If not set 'label'\n          will be\n          used. In case of\n          localization with a directory field for\n          each supported language (see\n          dbl10n option), by default\n          fields with pattern like 'label_en',\n          'label_fr' or\n          'label_de' will\n          be searched. You can customize looked up\n          fields by\n          specifying\n          a pattern like\n          'label_{lang}' where the part {lang}\n          will be\n          replaced with\n          the current locale.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>labelFieldName</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestionSearchType\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Search type</label>\n      </labels>\n      <fields>\n        <field>userSuggestionSearchType</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Users and Groups\" itemValue=\"\"/>\n        <option itemLabel=\"Users\" itemValue=\"USER_TYPE\"/>\n        <option itemLabel=\"Groups\" itemValue=\"GROUP_TYPE\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"userSuggestion_groupRestriction\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Group id restriction</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Enter the id of a group to suggest only user from this\n          group.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>groupRestriction</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_prefixed\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Use prefixed reference</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this box if you want the references prefixed\n          with \"user:\" or \"group:\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>prefixed</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_firstLabelField\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">First label field</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Field to use as the first label when displaying the\n          selected user. Defaults to 'firstName'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>firstLabelField</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_secondLabelField\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Second label field</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Field to use as the second label when displaying the\n          selected user. Defaults to 'lastName'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>secondLabelField</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_thirdLabelField\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Third label field</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Field to use as the third label when displaying the\n          selected user. Defaults to 'email'. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>thirdLabelField</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideFirstLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide first label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the first label should be\n          hidden. Defaults to false.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideFirstLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideSecondLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide second label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the second label should be\n          hidden.Defaults to false.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSecondLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideThirdLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide third label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the third label should be\n          hidden. Defaults to false. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideThirdLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_displayAction\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display action</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display action to use when rendering the user or\n          group. Can be 'nothing' to just display text only, 'view' to have a\n          link going to the user or group view, or 'edit' to have a link going\n          to the user or group edition. The 'edit' action assumes the widget is\n          used in the Users and Groups management.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>displayAction</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"View\" itemValue=\"view\"/>\n        <option itemLabel=\"Edit\" itemValue=\"edit\"/>\n        <option itemLabel=\"Nothing\" itemValue=\"nothing\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"userSuggestion_displayEmailInSuggestion\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display email for users</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the email should be displayed\n          for users. Defaults to false. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>displayEmailInSuggestion</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestionMaxSearchResults\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Max search results</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Number of maximum search results in the suggestion\n          (defaults to 0 that means no limit).\n        </label>\n      </helpLabels>\n      <fields>\n        <field>userSuggestionMaxSearchResults</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_minChars\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Minimum characters</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The minimal number of characters to type for the\n          suggestion to be active. Defaults to 3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>minChars</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_resultLimit\" type=\"int\">\n      <sinceVersion>8.2</sinceVersion>\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Limit returned results</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The maximal number of result returned by the suggestion.\n          Defaults to unlimited.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>limit</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_frequency\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Frequency</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Delay (in seconds) before activating the suggestion\n          pop-up. Default value is 0.\n        </label>\n      </helpLabels>\n\n      <fields>\n        <field>frequency</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_requestDelay\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Request delay</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The requestDelay attribute specifies an amount of time\n          in milliseconds for the request to wait in the queue before being sent\n          to the server. If a similar request is added to the queue before the\n          delay is over, the original request is removed from the queue and not\n          sent.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>requestDelay</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_width\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Width</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">The suggestion width.</label>\n      </helpLabels>\n      <fields>\n        <field>width</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_helpLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Help Label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The help label is displayed below the\n          widget.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>helpLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_containerCssClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Container css class</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Css class of the Select2 selection container\n        </label>\n      </helpLabels>\n      <fields>\n        <field>containerCssClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_dropdownCssClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Dropdown css class</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Css class of the Select2 dropdown suggestion\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dropdownCssClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_suggestionFormatter\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Suggestion Formatter</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the JavaScript function that\n          will be\n          called by select2 to do the formatting of the\n          suggestedentries.\n          The\n          target function should take as input\n          the javascript Document as\n          returned by Automation and should\n          return some Html.\n          Use the \"Inline Javascript\" property field to define your own\n          formatter.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>suggestionFormatter</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_selectionFormatter\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Selection Formatter</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the JavaScript function that\n          will be\n          called by the widget to do the formatting of the\n          selected entries.\n          The\n          target function should take as input\n          the javascript Document as\n          returned by Automation and should\n          return some Html.\n          Use the \"Inline Javascript\" property field to define your own\n          formatter.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>selectionFormatter</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_additionalParam\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Additional Operation Parameters</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the JavaScript function that\n          will be\n          called by select2 to pass additional parameters to\n          the automation operation. See https://doc.nuxeo.com/x/iQhvAQ.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>additionalOperationParameters</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_inlinejsDemoPreview\" type=\"textarea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Inline Javascript</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">#{layout.mode}</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          Javascript to be injected in the page with\n          the Widget.\n          You can define here custom formatters\n          referenced in \"Selection\n          Formatter\" and\n          \"Suggestion Formatter\" fields. Example:\n          &lt;pre&gt;\n          function myFormatter(entry) {\n          var markup = entry.displayLabel;\n          return markup;\n          }\n          &lt;/pre&gt; </label>\n      </helpLabels>\n      <fields>\n        <field>inlinejs</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_inlinejs\" type=\"codearea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Inline Javascript</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          Javascript to be injected in the page with\n          the Widget.\n          You can define here custom formatters\n          referenced in \"Selection\n          Formatter\" and\n          \"Suggestion Formatter\" fields. Example:\n          &lt;pre&gt;\n          function myFormatter(entry) {\n          var markup = entry.displayLabel;\n          return markup;\n          }\n          &lt;/pre&gt; </label>\n      </helpLabels>\n      <fields>\n        <field>inlinejs</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"language\">javascript</property>\n      </properties>\n    </widget>\n\n    <widget name=\"select2_directorySuggestion_canAddNewEntry\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Can add new entry</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean stating if user should be able to add a new\n          entry on the directory from this widget. Available since 5.9.1,\n          defaults to \"false\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>canAddNewEntry</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_directorySuggestion_addNewEntryFilter\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Filter for adding a new entry</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The action filter id used to check whether user should\n          be presented the 'add new entry' action on the suggestion widget.\n          The\n          variable 'directoryName' is available in context for this filter\n          evaluation. Available since 5.9.1, defaults to\n          'canAddEntryFromSuggestDirectoryWidget'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>addNewEntryFilter</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_tab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The tab to select when clicking on the document link.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>tab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_subTab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The sub tab to select when clicking on the document\n          link.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>subTab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_pageProviderName\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Document page provider name</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The page provider that will be called to perform a\n          search for the suggestion. It must accept one parameter that will be\n          replaced by the suggestion input. Since 5.7, additional parameters set\n          on the page provider definition will also be taken into account (but\n          the suggestion input will still be used as the first implicit\n          parameter). If no name is defined, a default page provider is used.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pageProviderName</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_pageProviderPageSize\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Document page provider page size</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Page provider result's page size. Default value is 20.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pageSize</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_queryDemoPreview\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">NXQL Query</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">#{layout.mode}</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          NXQL Query to fetch the suggestions. This property is\n          ignored if a\n          Page Provider name is given.\n          The widget doesn't append a '%'\n          wildcard to the parameter passed to query.\n          &lt;p&gt;\n          Example: select *\n          from Document where dc:title LIKE '?%'\n          &lt;/p&gt;\n        </label>\n      </helpLabels>\n      <fields>\n        <field>query</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_query\" type=\"codearea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">NXQL Query</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          NXQL Query to fetch the suggestions. This property is\n          ignored if a\n          Page Provider name is given.\n          The widget doesn't append a '%'\n          wildcard to the parameter passed to query.\n          &lt;p&gt;\n          Example: select *\n          from Document where dc:title LIKE '?%'\n          &lt;/p&gt;\n        </label>\n      </helpLabels>\n      <fields>\n        <field>query</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"language\">nxql</property>\n      </properties>\n    </widget>\n\n    <widget name=\"documentSuggestion_documentSchemas\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Document Schemas</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Document Schemas that should be fetched and\n          sent to the\n          JS client side. You can enter comma separated values.\n          &lt;p&gt;\n          Example: dublincore,common\n          &lt;/p&gt; </label>\n      </helpLabels>\n      <fields>\n        <field>documentSchemas</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_repository\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Target Repository</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Id of the Nuxeo repositry that should be\n          accessed.\n          If\n          unsed, the default repository will be used.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>repository</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_orderable\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Orderable</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to order the\n          selected items. Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>orderable</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideSearchTypeText\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide Search Type Label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to hide the\n          search type label. Available since 5.7.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSearchTypeText</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_displaySuggestionOnTop\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display Suggestion On Top</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to display the\n          suggestion\n          box on top of the search results. Available since 5.7.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>displaySuggestionOnTop</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_hideHelpLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide Help Label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to hide the\n          help label. Available since 5.7.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideHelpLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"ajaxReRender\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Ajax reRender</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Ajax rerender ids, separated by commas.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>ajaxReRender</field>\n      </fields>\n    </widget>\n\n    <widget name=\"actionsDisplay\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Actions Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to 'buttons', actions will be displayed as\n          command\n          buttons. If set to 'links', actions will be displayed as\n          command links. If set to 'icons', actions will be displayed\n          as icons.\n          Else (default behaviour), actions will be\n          displayed as command links\n          and display their icons when\n          defined.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>actionsDisplay</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Icons and links (default)\" itemValue=\"icons_links\"/>\n        <option itemLabel=\"Icons\" itemValue=\"icons\"/>\n        <option itemLabel=\"Buttons\" itemValue=\"buttons\"/>\n        <option itemLabel=\"Links\" itemValue=\"links\"/>\n      </selectOptions>\n    </widget>\n\n    <widget name=\"formActionsDisplay\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Actions Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to 'buttons', actions will be displayed as\n          command\n          buttons. If set to 'links', actions will be displayed as\n          command links. If set to 'icons', actions will be displayed\n          as icons.\n          Else (default behaviour), actions will be\n          displayed as command links\n          and display their icons when\n          defined.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>actionsDisplay</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Buttons (default)\" itemValue=\"buttons\"/>\n        <option itemLabel=\"Icons and links\" itemValue=\"icons_links\"/>\n        <option itemLabel=\"Icons\" itemValue=\"icons\"/>\n        <option itemLabel=\"Links\" itemValue=\"links\"/>\n      </selectOptions>\n    </widget>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.base/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.base--widgettypes",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.base--widgettypes",
              "registrationOrder": 9,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widgetType name=\"select_path_tree\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Path tree</title>\n        <description>\n          Widget allowing to select one or more values from a Tree\n          constructed\n          from the navigation tree.\n\n          Set 'showAllDomains' property to\n          true if you want to be able to select\n          a path from an other domain than\n          the current one.\n        </description>\n        <categories>\n          <category>search</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>path</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/select_path_tree_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"singleUserSuggestion\">\n      <configuration>\n        <title>Single user/group suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">3</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"singleUserSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_firstLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_secondLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_thirdLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideFirstLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideSecondLabel\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideThirdLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayAction</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"singleUserSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_groupRestriction\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionMaxSearchResults\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownOnArrow</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_user_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"multipleUsersSuggestion\">\n      <configuration>\n        <title>Multiple users/groups suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">3</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"multipleUsersSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_firstLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_secondLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_thirdLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideFirstLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideSecondLabel\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideThirdLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayAction</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"multipleUsersSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_closeOnSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_groupRestriction\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionMaxSearchResults\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/user_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"suggestOneDirectory\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Single directory suggestion</title>\n        <description>\n          <p>Uses Select2 JS library to render a selection / suggestion widget\n            where suggestions are loaded from a given directory.\n          </p>\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">0</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"suggestOneDirectory_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"suggestOneDirectory_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_resultLimit</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_fetch_mode</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_canSelectParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_filterParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">displayObsoleteEntries</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownOnArrow</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_canAddNewEntry</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_addNewEntryFilter</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/suggest_one_directory_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"suggestManyDirectory\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Multiple directory suggestion</title>\n        <description>\n          <p>Uses Select2 JS library to render a selection / suggestion widget\n            where suggestions are loaded from a given directory.\n          </p>\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">0</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"suggestManyDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"suggestManyDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_closeOnSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_resultLimit</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_fetch_mode</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_canSelectParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_filterParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">displayObsoleteEntries</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_canAddNewEntry</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_addNewEntryFilter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/suggest_many_directory_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <!-- deprecated since 5.7.3, use a multipleUsersSuggestion with \"prefixed\" property\n      = true now -->\n    <widgetType name=\"multiplePrefixedUsersSuggestion\">\n      <configuration>\n        <title>Multiple prefixed users/groups suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"multiplePrefixedUsersSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionMaxSearchResults\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_requestDelay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displaySuggestionOnTop\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideSearchTypeText\n                  </widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/user_prefixed_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"multipleDocumentsSuggestion\">\n      <configuration>\n        <title>Multiple documents suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"pageProviderName\">default_document_suggestion</property>\n            <property name=\"documentSchemas\">dublincore,common</property>\n            <property name=\"minChars\">3</property>\n            <property name=\"restoreSeamCtx\">true</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"multipleDocumentsSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_subTab</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"multipleDocumentsSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_closeOnSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_query</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_queryDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderPageSize\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_repository</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_documentSchemas\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_additionalParam</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/multiple_document_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"singleDocumentSuggestion\">\n      <configuration>\n        <title>Single document suggestion</title>\n        <sinceVersion>5.5</sinceVersion>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"pageProviderName\">default_document_suggestion</property>\n            <property name=\"documentSchemas\">dublincore,common</property>\n            <property name=\"minChars\">3</property>\n            <property name=\"restoreSeamCtx\">true</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"singleDocumentSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_subTab</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"singleDocumentSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_query</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_queryDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderPageSize\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_repository</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_documentSchemas\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_additionalParam</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownOnArrow</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_document_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"title_link\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Title with link</title>\n        <description>\n          <p>\n            This widget type displays a link to navigate to a document, as well\n            as a download link for the document binary content.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the document link and its title\n              </li>\n              <li>\n                second field maps the unique id to be used for contextual menu\n                (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed link title (can be the document\n                model description)\n              </li>\n              <li>\n                fourth field maps the document model file to be used for\n                download link\n              </li>\n              <li>\n                fifth field maps the file name to be used for download link\n                (can be the document model file name property value)\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following properties configuration:\n            <ul>\n              <li>\n                file_schema: the file schema name, used to check whether\n                download link should be displayed (e.g: file)\n              </li>\n              <li>\n                file_property_name: the file property name (e.g file:content)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"title_linkWidget\"/>\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:title</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field/>\n            <field>ref</field>\n            <field>dc.description</field>\n            <field>file.content</field>\n            <field>file.content.filename</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>standalone</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"hideExternalLink\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"title_link_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>tab</widget>\n                </row>\n                <row>\n                  <widget>subTab</widget>\n                </row>\n                <row>\n                  <widget>target</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n                <row>\n                  <widget>hideExternalLink</widget>\n                </row>\n                <row>\n                  <widget>hideDownloadLink</widget>\n                </row>\n              </rows>\n              <widget name=\"tab\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Tab</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The tab to select when clicking on the\n                    document link.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>tab</field>\n                </fields>\n              </widget>\n              <widget name=\"subTab\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Sub Tab</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The sub tab to select when clicking on the\n                    document link.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>subTab</field>\n                </fields>\n              </widget>\n              <widget name=\"target\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Target</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The target attribute of the link.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>target</field>\n                </fields>\n              </widget>\n              <widget name=\"localize\" type=\"checkbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Flag indicating that the title is localized.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n              <widget name=\"hideExternalLink\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide External Link</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Flag indicating that the external link, opening the document\n                    in a new conversation, must be hidden.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideExternalLink</field>\n                </fields>\n              </widget>\n              <widget name=\"hideDownloadLink\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide Download Link</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Flag indicating that the download link must be hidden.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideDownloadLink</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_title_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"title_and_permlink\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Title and permanent link</title>\n        <description>\n          This widgets displays the document title with a permlink icon. If the\n          document is a version, the major and minor are displayed in\n          parenthesis.\n\n          One field is required :\n          <ul>\n            <li>an empty field to map the document</li>\n          </ul>\n\n          Since 5.5, it also displays the document header related actions.\n          They\n          must be contributed in one of the following categories:\n          <ul>\n            <li>DOCUMENT_HEADER_ACTIONS_LIST</li>\n            <li>DOCUMENT_HEADER_ACTIONS_LIST_HREF</li>\n          </ul>\n\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field/>\n            <field>uid:major_version</field>\n            <field>uid:minor_version</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>standalone</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"title_and_permlink_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n              </rows>\n              <widget name=\"localize\" type=\"checkbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Available since 5.7.1. Flag indicating that\n                    the title is localized.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/title_with_permlink_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"select_l10n_vocabulary_tree\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>Localized vocabulary tree</title>\n        <description>\n          Widget allowing to select one or more values in a tree\n          constructed\n          from a l10nvocabulary or l10nxvocabulary directory.\n        </description>\n        <categories>\n          <category>search</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"select_l10n_vocabulary_tree_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>directoryName</widget>\n                </row>\n                <row>\n                  <widget>directoryNameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>selectIdOnly</widget>\n                </row>\n                <row>\n                  <widget>keySeparator</widget>\n                </row>\n              </rows>\n              <widget name=\"directoryName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <fields>\n                  <field>directoryName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">vocabularies</property>\n                </properties>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"directoryNameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <fields>\n                  <field>directoryName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"selectIdOnly\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Select id only</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, only the entries id are\n                    stored instead of\n                    their path.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>selectIdOnly</field>\n                </fields>\n              </widget>\n              <widget name=\"keySeparator\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Key separator</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The string used to separate directory keys\n                    in the value.\n                    Defaults to \"/\".\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>keySeparator</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"select_l10n_vocabulary_tree_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>multiSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">displayObsoleteEntries</widget>\n                </row>\n                <row>\n                  <widget>ordering</widget>\n                </row>\n              </rows>\n              <widget name=\"multiSelect\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Multiple selection</label>\n                </labels>\n                <fields>\n                  <field>multiSelect</field>\n                </fields>\n              </widget>\n              <widget name=\"ordering\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Sort criterion</label>\n                </labels>\n                <fields>\n                  <field>ordering</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"Label (default)\" itemValue=\"label\"/>\n                  <option itemLabel=\"Ordering\" itemValue=\"ordering\"/>\n                  <option itemLabel=\"Id\" itemValue=\"id\"/>\n                </selectOptions>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/select_l10n_vocabulary_tree_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"contentViewWithForms\">\n      <configuration>\n        <sinceVersion>5.6</sinceVersion>\n        <title>Content view</title>\n        <description>\n          This widget displays a content view, with forms inside it.\n\n          Note that usually layouts do not contain any forms, but are surrounded\n          by one, and nesting forms breaks the available actions. So you should\n          make sure there is no enclosing form around the layout, or around this\n          widget, when using it.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <containingForm>true</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"useAjaxPagination\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"contentView_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>contentViewName</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget>useAjaxPagination</widget>\n                </row>\n                <row>\n                  <widget>ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget>hideTopPaginationControls</widget>\n                </row>\n                <row>\n                  <widget>defaultPageSize</widget>\n                </row>\n                <row>\n                  <widget>showPageSizeSelector</widget>\n                </row>\n                <row>\n                  <widget>showRefreshCommand</widget>\n                </row>\n                <row>\n                  <widget>showFilterForm</widget>\n                </row>\n                <row>\n                  <widget>showSyndicationLinks</widget>\n                </row>\n                <row>\n                  <widget>showCSVExport</widget>\n                </row>\n                <row>\n                  <widget>showPDFExport</widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <!-- not exposed in studio for now -->\n                <row>\n                  <widget>foldableBoxStyleClass</widget>\n                </row>\n                <row>\n                  <widget>foldedIfEmpty</widget>\n                </row>\n                <row>\n                  <widget>hideEmpty</widget>\n                </row>\n                <row>\n                  <widget>contentViewIconPath</widget>\n                </row>\n                <!-- not sure this is a good idea: there are other forms in the template -->\n                <!-- <row> <widget>removeForm</widget> </row> -->\n              </rows>\n              <widget name=\"contentViewName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Content View name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The content view to display.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>contentViewName</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">contentViews</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the content view.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, selection actions will be\n                    performed using ajax. Note that sometimes, selection actions\n                    will require you to reload the whole page for other elements\n                    than the content view to be re-rendered, so using ajax will\n                    not be user friendly in these cases. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxForm</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxPagination\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax pagination</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, pagination actions (first,\n                    previous, next, last) actions will be performed using ajax.\n                    Defaults to true since version 7.10.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxPagination</field>\n                </fields>\n              </widget>\n              <widget name=\"ajaxReRender\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Ajax reRender</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given ajax reRender ids will be added to\n                    the zones to\n                    reRender on some actions (page navigation,\n                    result layout\n                    selection, selection actions...). Available\n                    since 5.7.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>ajaxReRender</field>\n                </fields>\n              </widget>\n              <widget name=\"hideTopPaginationControls\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show only bottom pagination controls</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, pagination actions (first,\n                    previous, next, last) actions will only be displayed below\n                    the results. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideTopPaginationControls</field>\n                </fields>\n              </widget>\n              <widget name=\"defaultPageSize\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Default page size</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The default page size to use instead of the\n                    value set on the content view definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>defaultPageSize</field>\n                </fields>\n              </widget>\n              <widget name=\"showPageSizeSelector\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show page size selector</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the page size\n                    selector, overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showPageSizeSelector</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\" itemValue=\"\"/>\n                  <option itemLabel=\"No\" itemValue=\"false\"/>\n                  <option itemLabel=\"Yes\" itemValue=\"true\"/>\n                </selectOptions>\n              </widget>\n              <widget name=\"showRefreshCommand\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show refresh command</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the refresh command,\n                    overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showRefreshCommand</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\" itemValue=\"\"/>\n                  <option itemLabel=\"No\" itemValue=\"false\"/>\n                  <option itemLabel=\"Yes\" itemValue=\"true\"/>\n                </selectOptions>\n              </widget>\n              <widget name=\"showFilterForm\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show filter form</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the filter form,\n                    overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showFilterForm</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\" itemValue=\"\"/>\n                  <option itemLabel=\"No\" itemValue=\"false\"/>\n                  <option itemLabel=\"Yes\" itemValue=\"true\"/>\n                </selectOptions>\n              </widget>\n              <widget name=\"showSyndicationLinks\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show syndication links</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide syndication links,\n                    overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showSyndicationLinks</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\" itemValue=\"\"/>\n                  <option itemLabel=\"No\" itemValue=\"false\"/>\n                  <option itemLabel=\"Yes\" itemValue=\"true\"/>\n                </selectOptions>\n              </widget>\n              <widget name=\"showCSVExport\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show CSV export</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the CSV export link,\n                    overriding the value set on the content view definition for\n                    every result layouts. Warning: the content view result\n                    layouts should be configured to handle a CSV export.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showCSVExport</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\" itemValue=\"\"/>\n                  <option itemLabel=\"No\" itemValue=\"false\"/>\n                  <option itemLabel=\"Yes\" itemValue=\"true\"/>\n                </selectOptions>\n              </widget>\n              <widget name=\"showPDFExport\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show PDF export</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the PDF export link,\n                    overriding the value set on the content view definition for\n                    every result layouts. Warning: the content view result\n                    layouts should be configured to handle a CSV export.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showPDFExport</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\" itemValue=\"\"/>\n                  <option itemLabel=\"No\" itemValue=\"false\"/>\n                  <option itemLabel=\"Yes\" itemValue=\"true\"/>\n                </selectOptions>\n              </widget>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the content view will be\n                    displayed in a box that can be folded/unfolded in\n                    javascript. Ignored if the widget is not marked as handling\n                    labels as the header will not be displayed in this case. If\n                    the widget label is empty, the content view title will be\n                    used. If this title is also empty, a default label will be\n                    shown. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <!-- not exposed in studio for now -->\n              <widget name=\"foldableBoxStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Foldable Box Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be used on the\n                    foldable box.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldableBoxStyleClass</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedIfEmpty\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded if empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedIfEmpty</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"hideEmpty\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide if empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to hide the complete rendering when\n                    content view is empty\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideEmpty</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"contentViewIconPath\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Content icon path</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The icon to display instead of the value set\n                    on the content view definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>contentViewIconPath</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"removeForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Remove form on content listing</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>removeForm</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/content_view_with_forms_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"contentViewSearchLayout\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Content view search layout</title>\n        <description>\n          This widget displays the search layout of a content view.\n        </description>\n        <categories>\n          <category>configuration_not_ready</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"contentView_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>contentViewName</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n              </rows>\n              <widget name=\"contentViewName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Content View name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Displays the search layout of this content\n                    view.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>contentViewName</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">contentViews</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the search layout.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/content_view_search_layout_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"saveBox\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Save box</title>\n        <description>\n          <p>This widget displays a save box with one input for the title and\n            one button to save.\n          </p>\n\n          <p>The input is mapped to the field of the widget.</p>\n\n          <p>It needs the action id as property \"actionId\" for\n            the \"save\" button.\n          </p>\n        </description>\n        <categories>\n          <category>configuration_not_ready</category>\n          <!--\n            <category>tab_designer</category>\n          -->\n        </categories>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/save_box_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"toggleableLayoutWithForms\">\n      <configuration>\n        <sinceVersion>5.6</sinceVersion>\n        <title>Toggleable form</title>\n        <description>\n          This widget displays a form layout which mode can be\n          toggled, with forms inside it.\n\n          Note that usually layouts do not contain\n          any forms, but are surrounded by one, and nesting forms breaks the\n          available actions. So you should make sure there is no enclosing form\n          around the layout, or around this widget, when using it.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"toggleableLayoutViewWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>initialLayoutName</widget>\n                </row>\n                <row>\n                  <widget>initialLayoutNameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>toggledLayoutName</widget>\n                </row>\n                <row>\n                  <widget>toggledLayoutNameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>canToggleMode</widget>\n                </row>\n                <row>\n                  <widget>hideDefaultActions</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategory</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategoryDemo</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">formActionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">widgetsDisplay</widget>\n                </row>\n                <row>\n                  <widget>showEditOptions</widget>\n                </row>\n                <row>\n                  <widget>useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <row>\n                  <widget>displayToggleActionInHeader</widget>\n                </row>\n                <row>\n                  <widget>initialActionLabel</widget>\n                </row>\n                <row>\n                  <widget>cancelActionLabel</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"initialLayoutName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display before toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"initialLayoutNameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display before toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"toggledLayoutName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Toggled layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display after toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas. If not filled, defaults to the initial\n                    layout name(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>toggledLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                </properties>\n              </widget>\n              <widget name=\"toggledLayoutNameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Toggled layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display after toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas. If not filled, defaults to the initial\n                    layout name(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>toggledLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout template to use instead of the\n                    one already set\n                    on the layout(s) definition(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the layout.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"canToggleMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Can toggle mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The boolean property to resolve when\n                    deciding whether the toggle button should be displayed or\n                    not. Defaults to an EL expression checking permission\n                    'Write' on the document. Examples: false,\n                    #{webActions.checkFilter('canToggleLayoutToEditMode') and\n                    currentUser.isMemberOf('togglers_groups')}.\n                    Default\n                    expression used (includes check for permission 'Write',\n                    check if document is in the trash, and check if document is\n                    mutable -- not a proxy nor a version):\n                    #{webActions.checkFilter('canToggleLayoutToEditMode')}\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>canToggleMode</field>\n                </fields>\n              </widget>\n              <widget name=\"hideDefaultActions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide default actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions from the default\n                    category 'EDIT_DOCUMENT_FORM' will not be displayed on the\n                    layout in toggled mode. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideDefaultActions</field>\n                </fields>\n              </widget>\n              <widget name=\"additionalActionsCategory\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"additionalActionsCategoryDemo\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"showEditOptions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show edit options</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, additional edit options\n                    (like a textarea for comment to be visible in the document\n                    history) will be visible after the layout in toggled (edit)\n                    mode. Only visible if value bound to the layout is a\n                    document model. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showEditOptions</field>\n                </fields>\n              </widget>\n              <widget name=\"displayToggleActionInHeader\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Display toggle action in header</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true (and widget has a header,\n                    because it handles its label), actions will be displayed in\n                    the header. This includes the \"toggle\" action, as well as\n                    \"save\" actions. Only the \"toggle\" action is hidden from the\n                    rendering when it is displayed on top. \"Save\" actions are\n                    shown twice. Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>displayToggleActionInHeader</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions will be performed\n                    using ajax. Note that sometimes, actions will require you to\n                    reload the whole page for other elements than the current\n                    zone to be re-rendered, so using ajax will not be user\n                    friendly in these cases. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxForm</field>\n                </fields>\n              </widget>\n              <widget name=\"initialActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Initial action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The initial action label to display.\n                    Defaults to 'action.view.modification' (Edit), is translated\n                    when the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"cancelActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cancel action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The toggled action label to display.\n                    Defaults to 'command.cancel' (Cancel), is translated when\n                    the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cancelActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the layout will be\n                    displayed\n                    in a box that can be folded/unfolded in\n                    javascript. Ignored\n                    if the widget is not marked as handling\n                    labels as the header\n                    will not be displayed in this case. If\n                    the widget label is\n                    empty, a default label will be\n                    shown. Available since 5.7,\n                    defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/toggleable_layout_with_forms_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"toggleableDocumentLayoutWithForms\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Toggleable Document Form</title>\n        <description>\n          This widget displays the document layouts of a document\n          which mode\n          can be toggled, with forms inside it.\n\n          Note that usually\n          layouts do not contain\n          any forms, but are surrounded by one, and\n          nesting forms breaks the\n          available actions. So you should make sure\n          there is no enclosing form\n          around the layout, or around this widget,\n          when using it.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"toggleableLayoutViewWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>initialDocumentMode</widget>\n                </row>\n                <row>\n                  <widget>toggledDocumentMode</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>canToggleMode</widget>\n                </row>\n                <row>\n                  <widget>hideDefaultActions</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategory</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategoryDemo</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">formActionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">widgetsDisplay</widget>\n                </row>\n                <row>\n                  <widget>showEditOptions</widget>\n                </row>\n                <row>\n                  <widget>useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <row>\n                  <widget>displayToggleActionInHeader</widget>\n                </row>\n                <row>\n                  <widget>initialActionLabel</widget>\n                </row>\n                <row>\n                  <widget>cancelActionLabel</widget>\n                </row>\n                <row>\n                  <widget>defaultLayout</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"initialDocumentMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Initial document mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The initial document mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialDocumentMode</field>\n                </fields>\n              </widget>\n              <widget name=\"toggledDocumentMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Toggled document mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The toggled document mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>toggledDocumentMode</field>\n                </fields>\n              </widget>\n              <widget name=\"defaultLayout\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Default layout</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The default layout to use if no layout are defined\n                    for the given document mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>defaultLayout</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                </properties>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout template to use instead of the\n                    one already set\n                    on the layout(s) definition(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the layout.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"canToggleMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Can toggle mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The boolean property to resolve when\n                    deciding whether the toggle button should be displayed or\n                    not. Defaults to an EL expression checking permission\n                    'Write' on the document. Examples: false,\n                    #{nxd:hasPermission(value, 'Write') and\n                    currentUser.isMemberOf('togglers_groups')}.\n                    Default\n                    expression used:\n                    #{webActions.checkFilter('canToggleLayoutToEditMode')}\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>canToggleMode</field>\n                </fields>\n              </widget>\n              <widget name=\"hideDefaultActions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide default actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions from the default\n                    category 'EDIT_DOCUMENT_FORM' will not be displayed on the\n                    layout in toggled mode. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideDefaultActions</field>\n                </fields>\n              </widget>\n              <widget name=\"additionalActionsCategory\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"additionalActionsCategoryDemo\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"showEditOptions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show edit options</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, additional edit options\n                    (like a textarea for comment to be visible in the document\n                    history) will be visible after the layout in toggled (edit)\n                    mode. Only visible if value bound to the layout is a\n                    document model. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showEditOptions</field>\n                </fields>\n              </widget>\n              <widget name=\"displayToggleActionInHeader\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Display toggle action in header</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true (and widget has a header,\n                    because it handles its label), actions will be displayed in\n                    the header. This includes the \"toggle\" action, as well as\n                    \"save\" actions. Only the \"toggle\" action is hidden from the\n                    rendering when it is displayed on top. \"Save\" actions are\n                    shown twice. Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>displayToggleActionInHeader</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions will be performed\n                    using ajax. Note that sometimes, actions will require you to\n                    reload the whole page for other elements than the current\n                    zone to be re-rendered, so using ajax will not be user\n                    friendly in these cases. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxForm</field>\n                </fields>\n              </widget>\n              <widget name=\"initialActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Initial action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The initial action label to display.\n                    Defaults to 'action.view.modification' (Edit), is translated\n                    when the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"cancelActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cancel action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The toggled action label to display.\n                    Defaults to 'command.cancel' (Cancel), is translated when\n                    the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cancelActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the content view will be\n                    displayed in a box that can be folded if users would like to\n                    hide this content view content. Note that this state is not\n                    persisted. Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/toggleable_document_layout_with_forms_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentLayout\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Document Layouts</title>\n        <description>\n          This widget displays the document layouts of a document\n          for the given mode.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"documentLayoutView_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>mode</widget>\n                </row>\n                <row>\n                  <widget>documentMode</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n                <row>\n                  <widget>defaultLayout</widget>\n                </row>\n                <row>\n                  <widget>canToggleMode</widget>\n                </row>\n              </rows>\n              <widget name=\"mode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>mode</field>\n                </fields>\n              </widget>\n              <widget name=\"documentMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Document mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The document mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>documentMode</field>\n                </fields>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout template to use instead of the\n                    one already set\n                    on the layout(s) definition(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n              </widget>\n              <widget name=\"defaultLayout\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Default layout</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The default layout to use if no layout are defined\n                    for the given document mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>defaultLayout</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"canToggleMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Can toggle mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The boolean property to resolve when\n                    deciding whether the toggle button should be displayed or\n                    not. Defaults to an EL expression checking permission\n                    'Write' on the document. Examples: false,\n                    #{nxd:hasPermission(value, 'Write') and\n                    currentUser.isMemberOf('togglers_groups')}.\n                    Default\n                    expression used:\n                    #{webActions.checkFilter('canToggleLayoutToEditMode')}\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>canToggleMode</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/document_layout_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentActions\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Form actions</title>\n        <description>\n          <p>This widget displays actions filtered on the document given as\n            field mapping.\n          </p>\n          <p>\n            It will display actions in the category given in the 'category'\n            property. The widget label and help label will be displayed above\n            the actions.\n          </p>\n          <p>\n            This widget requires to be surrounded by a form, so if it displays\n            fancybox actions for instance, their popup content cannot contain\n            another form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentActions_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentActions\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Form actions</title>\n        <description>\n          <p>This widget displays actions filtered on the current document.</p>\n          <p>Since 5.7.3, use \"documentActions\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentActions_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentActionsWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Toolbar actions</title>\n        <description>\n          <p>This widget displays actions filtered on the document given as\n            field mapping, and surrounds them by a form.\n          </p>\n          <p>\n            It will display actions in the category given in the 'category'\n            property. The widget label and help label will be displayed above\n            the actions.\n          </p>\n          <p>\n            The fact that actions are surrounded by their own form makes it\n            possible to use fancybox actions for instance, whose popup content\n            would use a different form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentActionsWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentActionsWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Toolbar actions</title>\n        <description>\n          <p>This widget displays actions filtered on the current document, and\n            surrounds them by a form.\n          </p>\n          <p>Since 5.7.3, use \"documentActionsWithForms\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentActionsWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentAction\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Form action</title>\n        <description>\n          <p>This widget displays an action filtered on context using document\n            given as field mapping.\n          </p>\n          <p>\n            It needs the action id as property \"actionId\".\n            <br/>\n            Its bound value is used for actions with type \"widget\".\n          </p>\n          <p>\n            This widget requires to be surrounded by a form, so if it displays\n            fancybox actions for instance, their popup content cannot contain\n            another form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentAction_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentAction\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Form action</title>\n        <description>\n          <p>This widget displays an action filtered on current document context\n          </p>\n          <p>Since 5.7.3, use \"documentAction\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentAction_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_addForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentActionWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Toolbar action</title>\n        <description>\n          <p>This widget displays an action filtered on current document context\n          </p>\n          <p>\n            It needs the action id as property \"actionId\".\n            <br/>\n            Its bound value is used for actions with type \"widget\".\n          </p>\n          <p>\n            The fact that action is surrounded by its own form makes it\n            possible to use fancybox actions for instance, whose popup content\n            would use a different form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentActionWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentActionWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Toolbar action</title>\n        <description>\n          <p>This widget displays an action filtered on current document context\n          </p>\n          <p>Since 5.7.3, use \"documentActionWithForms\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentActionWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentTabsWithForms\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Tabs</title>\n        <description>\n          <p>This widget displays tabs filtered on current document context</p>\n          <p>\n            It needs the action id as property \"actionId\".\n            <br/>\n            Its bound value is used for actions with type \"widget\".\n          </p>\n          <p>\n            The fact that action is surrounded by its own form makes it\n            possible to use fancybox actions for instance, whose popup content\n            would use a different form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field/>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">false</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentTabsWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_hideSingleTab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_link_view</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_link_pattern</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_tabs_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"userVirtualGroups\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>User virtual groups</title>\n        <description>\n          This widget displays the user virtual groups.\n        </description>\n        <categories>\n          <category>configuration_not_ready</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/user_vgoups_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"datetimeRange\">\n      <configuration>\n        <title>Datetime range</title>\n        <documentation>\n          Widget used to search on a date range.\n          Two fields are required:\n          <ul>\n            <li>A field to map the min date</li>\n            <li>A field to map the max date</li>\n          </ul>\n        </documentation>\n        <sinceVersion>5.7</sinceVersion>\n        <categories>\n          <category>search</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>date</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"startDefaultTime\">00:00:00</property>\n            <property name=\"endDefaultTime\">23:59:59</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"daterange_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"daterange_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_format</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_locale</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerImg</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerStyleClass</widget>\n                </row>\n                <row>\n                  <widget>datetimeRange_startDefaultTime</widget>\n                </row>\n                <row>\n                  <widget>datetimeRange_endDefaultTime</widget>\n                </row>\n              </rows>\n              <widget name=\"datetimeRange_startDefaultTime\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Datetime Range Start Default Time</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The start default time, ignore if time is\n                    not taken into account in the date pattern/format. Defaults\n                    to 00:00:00, available since 7.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>startDefaultTime</field>\n                </fields>\n                <controls mode=\"any\">\n                  <control name=\"sinceVersion\">7.1</control>\n                </controls>\n              </widget>\n              <widget name=\"datetimeRange_endDefaultTime\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Datetime Range End Default Time</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The end default time, ignore if time is\n                    not taken into account in the date pattern/format. Defaults\n                    to 23:59:59, available since 7.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>endDefaultTime</field>\n                </fields>\n                <controls mode=\"any\">\n                  <control name=\"sinceVersion\">7.1</control>\n                </controls>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/date_range_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"path\">\n      <configuration>\n        <title>Path</title>\n        <documentation>\n          The path widget displays a popup browser in the document\n          hierarchy.\n        </documentation>\n        <sinceVersion>5.7</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>path</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>path</type>\n          </defaultTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"path_widget_type_properties\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/search_path_widget.xhtml</property>\n    </widgetType>\n\n    <widgetType name=\"dropZone\">\n      <configuration>\n        <sinceVersion>5.8</sinceVersion>\n        <title>Drop zone</title>\n        <description>\n          <p>\n            The dropZone widget wraps its subwidgets with a div acting as\n            the\n            drop zone to be able to drop files inside it.\n          </p>\n          <p>\n            More information is available on the\n            <a href=\"http://doc.nuxeo.com/x/c4ao\" target=\"_blank\">Drag and\n              Drop Service\n              documentation</a>\n            .\n          </p>\n        </description>\n        <categories>\n          <category>decoration</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"dropZone_widget_type_properties\">\n              <rows>\n                <row>\n                  <widget>dropContext</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget>isEmpty</widget>\n                </row>\n                <row>\n                  <widget>emptyMessage</widget>\n                </row>\n                <row>\n                  <widget>cannotDrop</widget>\n                </row>\n                <row>\n                  <widget>cannotDropMessage</widget>\n                </row>\n              </rows>\n              <widget name=\"dropContext\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Drop context</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">The drop context is a marker used to\n                    identify which action will be called on drop. Actions with\n                    the given category will be be taken into account. Their id\n                    should correspond to the operation or automation chain\n                    identifier.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>dropContext</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"isEmpty\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Is empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Expression resolving to a boolean stating if\n                    the drop zone is empty. If it resolves to true, subwidgets\n                    are not displayed.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>isEmpty</field>\n                </fields>\n              </widget>\n              <widget name=\"emptyMessage\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Empty message</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Message to display if the drop zone is\n                    empty.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>emptyMessage</field>\n                </fields>\n              </widget>\n              <widget name=\"cannotDrop\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cannot drop</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Expression resolving to a boolean stating if\n                    user should not be able to drop elements inside the drop\n                    zone (because user does not have enough rights to create\n                    documents, for instance).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cannotDrop</field>\n                </fields>\n              </widget>\n              <widget name=\"cannotDropMessage\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cannot drop message</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Message to display if user cannot drop items\n                    in the drop zone.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cannotDropMessage</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/drop_zone_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"chainedDirectory\">\n      <configuration>\n        <title>Chained Vocabulary</title>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"chainedDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>childDirectory</widget>\n                </row>\n                <row>\n                  <widget>localize</widget>\n                </row>\n              </rows>\n              <widget name=\"childDirectory\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Select the child or hierarchical directory\n                    mapped.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>childDirectory</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">child_vocabularies</property>\n                </properties>\n                <properties widgetMode=\"edit\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"localize\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">If true, labels will be localized.</label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"chainedDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>required</widget>\n                </row>\n                <row>\n                  <widget>allowBranchSelection</widget>\n                </row>\n                <row>\n                  <widget>on2rows</widget>\n                </row>\n                <row>\n                  <widget>directory_ordering</widget>\n                </row>\n              </rows>\n              <widget name=\"required\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Required</label>\n                </labels>\n                <fields>\n                  <field>required</field>\n                </fields>\n              </widget>\n              <widget name=\"allowBranchSelection\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Allow incomplete selection</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, user cannot select only the\n                    first item in the selection, he will have to select a second\n                    item too. Defaults to false, available since 5.6.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>allowBranchSelection</field>\n                </fields>\n              </widget>\n              <widget name=\"on2rows\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">On 2 rows</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If true, display the selectors on two rows.\n                    Defaults to\n                    false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>on2rows</field>\n                </fields>\n              </widget>\n              <widget name=\"directory_ordering\" type=\"selectOneListbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Sort criterion</label>\n                </labels>\n                <fields>\n                  <field>ordering</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"Label (default)\" itemValue=\"label\"/>\n                  <option itemLabel=\"Ordering\" itemValue=\"ordering\"/>\n                  <option itemLabel=\"Id\" itemValue=\"id\"/>\n                </selectOptions>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/chain_monoselect_2levels_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"multiChainedDirectory\">\n      <configuration>\n        <title>Multiple chained Vocabulary</title>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"multiChainedDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>childDirectory</widget>\n                </row>\n                <row>\n                  <widget>localize</widget>\n                </row>\n              </rows>\n              <widget name=\"childDirectory\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Select the child or hierarchical directory\n                    mapped.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>childDirectory</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">child_vocabularies</property>\n                </properties>\n                <properties widgetMode=\"edit\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"localize\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">If true, labels will be localized.</label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"multiChainedDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>required</widget>\n                </row>\n                <row>\n                  <widget>allowBranchSelection</widget>\n                </row>\n                <row>\n                  <widget>on2rows</widget>\n                </row>\n                <row>\n                  <widget>directory_ordering</widget>\n                </row>\n              </rows>\n              <widget name=\"required\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Required</label>\n                </labels>\n                <fields>\n                  <field>required</field>\n                </fields>\n              </widget>\n              <widget name=\"allowBranchSelection\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Allow incomplete selection</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, user cannot select only the\n                    first item in the selection, he will have to select a second\n                    item too. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>allowBranchSelection</field>\n                </fields>\n              </widget>\n              <widget name=\"on2rows\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">On 2 rows</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If true, display the selectors on two rows.\n                    Defaults to\n                    false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>on2rows</field>\n                </fields>\n              </widget>\n              <widget name=\"directory_ordering\" type=\"selectOneListbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Sort criterion</label>\n                </labels>\n                <fields>\n                  <field>ordering</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"Label (default)\" itemValue=\"label\"/>\n                  <option itemLabel=\"Ordering\" itemValue=\"ordering\"/>\n                  <option itemLabel=\"Id\" itemValue=\"id\"/>\n                </selectOptions>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/chain_multiselect_2levels_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"shuttle\">\n      <configuration>\n        <title>Shuttle widget</title>\n        <sinceVersion>6.0</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>configuration_not_ready</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/shuttle_widget_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.base/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.base--widgets1",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.base--widgets1",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"document_edit_comment\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.editComment</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">label.editComment.tooltip</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>contextData['comment']</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"document_edit_current_version\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.version</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">label.versioning.currentVersion.tooltip</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>#{versioningManager.getVersionLabel(layoutValue)}</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n        <mode value=\"any\">\n          #{nxu:test(layoutValue.versionable and\n          !layoutValue.folder, 'view', 'hidden')}\n        </mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"document_edit_versioning_options\" type=\"setVariable\">\n      <labels>\n        <label mode=\"any\">label.versioning.selectVersioningOption</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">label.versioning.changeVersion.tooltip</label>\n      </helpLabels>\n      <translated>true</translated>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n        <mode value=\"any\">\n          #{nxu:test(layoutValue.versionable and not\n          layoutValue.folder and\n          versioningManager.getVersionIncEditOptions(layoutValue).hasOptions(),\n          mode, 'hidden')}\n        </mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"var\">incOptions</property>\n        <property name=\"value\">\n          #{versioningManager.getVersionIncEditOptions(layoutValue)}\n        </property>\n        <property name=\"cache\">true</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"versioning_options\" type=\"selectOneRadio\">\n          <fields>\n            <field>contextData['VersioningOption']</field>\n          </fields>\n          <properties widgetMode=\"edit\">\n            <property name=\"defaultValue\">\n              #{incOptions.defaultVersioningAction.name()}\n            </property>\n            <property name=\"converter\">documentVersioningConverter</property>\n            <property name=\"layout\">pageDirection</property>\n            <property name=\"required\">true</property>\n            <property name=\"requiredMessage\">\n              #{messages['error.versioning.none_selected']}\n            </property>\n          </properties>\n          <selectOptions>\n            <options itemLabel=\"#{messages[item.getValue()]}\" itemValue=\"#{item.getKey()}\" value=\"#{incOptions.optionsForDisplay}\" var=\"item\"/>\n          </selectOptions>\n        </widget>\n      </subWidgets>\n    </widget>\n\n    <widget name=\"userPanelTop\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_TOP</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle12</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userPanelLeft\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_LEFT</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle5</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userPanelRight\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_RIGHT</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle7</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userPanelBottom\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_BOTTOM</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle12</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userLayout\" type=\"layout\">\n      <properties widgetMode=\"any\">\n        <property name=\"name\">user</property>\n      </properties>\n    </widget>\n\n\n    <widget name=\"userAdditionalWidgets\" type=\"documentActions\">\n      <properties widgetMode=\"any\">\n        <property name=\"category\">USER_ADDITIONAL_WIDGETS</property>\n        <property name=\"widgetMode\">#{layout.mode}</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n      </controls>\n    </widget>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.base/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.base--actions",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.base--actions",
              "registrationOrder": 21,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action id=\"userLayout\" order=\"100\" type=\"widget\">\n      <category>USER_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">userLayout</property>\n      </properties>\n    </action>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.base/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.base--layouts",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.base--layouts",
              "registrationOrder": 9,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"gridUserLayout\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_grid_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>userPanelTop</widget>\n        </row>\n        <row>\n          <widget>userPanelLeft</widget>\n          <widget>userPanelRight</widget>\n        </row>\n        <row>\n          <widget>userPanelBottom</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>firstname</widget>\n        </row>\n        <row>\n          <widget>lastname</widget>\n        </row>\n        <row>\n          <widget>company</widget>\n        </row>\n        <row>\n          <widget>email</widget>\n        </row>\n        <row>\n          <widget>groups</widget>\n        </row>\n        <row>\n          <widget>groupsValidator</widget>\n        </row>\n        <row>\n          <widget>vgroups</widget>\n        </row>\n        <row>\n          <widget>passwordMatcher</widget>\n        </row>\n        <row>\n          <widget>userAdditionalWidgets</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"text\">\n        <labels>\n          <label mode=\"any\">username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">username</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"any\">view</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"validator\">\n            #{userManagementActions.validateUserName}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"firstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">firstName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">firstName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"lastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">lastName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">lastName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"company\" type=\"text\">\n        <labels>\n          <label mode=\"any\">company</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">company</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"email\" type=\"text\">\n        <labels>\n          <label mode=\"any\">email</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">email</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"groups\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.userManager.userGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">groups</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"edit\">\n            #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),\n            'edit', 'view')}\n          </mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"any\">\n          <property name=\"hideVirtualGroups\">true</property>\n          <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        </properties>\n      </widget>\n\n      <widget name=\"groupsValidator\" type=\"template\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>true</translated>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"view\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <!-- XXX: depends on firstPassword and secondPassword widget names -->\n          <property name=\"template\">\n            /widgets/user_groups_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n\n      <widget name=\"vgroups\" type=\"userVirtualGroups\">\n        <labels>\n          <label mode=\"any\">label.userManager.userVirtualGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">username</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n      </widget>\n       <widget name=\"passwordMatcher\" type=\"template\">\n        <labels>\n          <label mode=\"create\">label.immediateCreation</label>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">password</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"any\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"template\">\n            /widgets/user_password_widget_template.xhtml\n          </property>\n        </properties>\n        <properties widgetMode=\"editPassword\">********<property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"template\">\n            /widgets/user_password_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"profile_password\">********<templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>profilePasswordMatcher</widget>\n        </row>\n      </rows>\n      <widget name=\"profilePasswordMatcher\" type=\"template\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <fields>\n          <field schema=\"user\">password</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editProfilePassword\">********</mode>\n          <mode value=\"any\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"editProfilePassword\">********<property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"template\">\n            /widgets/user_profile_password_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"user_registration\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>firstname</widget>\n        </row>\n        <row>\n          <widget>lastname</widget>\n        </row>\n        <row>\n          <widget>company</widget>\n        </row>\n        <row>\n          <widget>email</widget>\n        </row>\n        <row>\n          <widget>groups</widget>\n        </row>\n        <row>\n          <widget>groupsValidator</widget>\n        </row>\n        <row>\n          <widget>vgroups</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"text\">\n        <labels>\n          <label mode=\"any\">username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">login</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"any\">view</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"validator\">\n            #{userManagementActions.validateUserName}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"firstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">firstName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">firstName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"lastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">lastName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">lastName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"company\" type=\"text\">\n        <labels>\n          <label mode=\"any\">company</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">company</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"email\" type=\"text\">\n        <labels>\n          <label mode=\"any\">email</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">email</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"groups\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.userManager.userGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">groups</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"edit\">\n            #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),\n            'edit', 'view')}\n          </mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"any\">\n          <property name=\"hideVirtualGroups\">true</property>\n          <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        </properties>\n      </widget>\n      <widget name=\"groupsValidator\" type=\"template\">\n        <labels>\n          <label mode=\"any\"/>\n        </labels>\n        <translated>true</translated>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"view\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <!-- XXX: depends on firstPassword and secondPassword widget names -->\n          <property name=\"template\">\n            /widgets/user_groups_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"vgroups\" type=\"userVirtualGroups\">\n        <labels>\n          <label mode=\"any\">label.userManager.userVirtualGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">login</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n      </widget>\n    </layout>\n\n    <layout name=\"group\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>group_name</widget>\n        </row>\n        <row>\n          <widget>group_label</widget>\n        </row>\n        <row>\n          <widget>group_members</widget>\n        </row>\n        <row>\n          <widget>group_subgroups</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user_group_suggestion\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>selection</widget>\n        </row>\n      </rows>\n      <widget name=\"selection\" type=\"multipleUsersSuggestion\">\n        <!-- add empty field to map layout value directly -->\n        <fields>\n          <field/>\n        </fields>\n        <labels>\n          <label mode=\"any\">label.security.usersOrGroups</label>\n        </labels>\n        <properties widgetMode=\"edit\">\n          <property name=\"hideHelpLabel\">true</property>\n          <property name=\"placeholder\">label.security.search</property>\n        </properties>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n        </widgetModes>\n      </widget>\n    </layout>\n\n    <layout name=\"user_group_prefixed_suggestion\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>selection</widget>\n        </row>\n      </rows>\n      <widget name=\"selection\" type=\"multipleUsersSuggestion\">\n        <!-- add empty field to map layout value directly -->\n        <fields>\n          <field/>\n        </fields>\n        <labels>\n          <label mode=\"any\">label.security.usersOrGroups</label>\n        </labels>\n        <properties widgetMode=\"edit\">\n          <property name=\"prefixed\">true</property>\n          <property name=\"hideHelpLabel\">true</property>\n          <property name=\"placeholder\">label.security.search</property>\n        </properties>\n        <properties widgetMode=\"view\">\n          <property name=\"prefixed\">true</property>\n        </properties>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n        </widgetModes>\n      </widget>\n    </layout>\n\n    <layout name=\"document_content_filter\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>search_title</widget>\n        </row>\n        <row>\n          <widget>search_modified_min</widget>\n          <widget>search_modified_max</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"document_edit_form_options\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>document_edit_comment</widget>\n        </row>\n        <row>\n          <widget>document_edit_current_version</widget>\n        </row>\n        <row>\n          <widget>document_edit_versioning_options</widget>\n        </row>\n      </rows>\n    </layout>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.base",
          "name": "org.nuxeo.ecm.platform.forms.layouts.webapp.base",
          "requirements": [],
          "resolutionOrder": 634,
          "services": [],
          "startOrder": 333,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.forms.layouts.webapp.base\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\"\n    point=\"widgets\">\n\n    <widget name=\"displayObsoleteEntries\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display obsolete entries</label>\n      </labels>\n      <fields>\n        <field>displayObsoleteEntries</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_directory_name\" type=\"selectOneResource\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Directory Name</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the directory\n        </label>\n      </helpLabels>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <fields>\n        <field>directoryName</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"required\">true</property>\n      </properties>\n      <properties mode=\"any\">\n        <property name=\"resourceName\">vocabularies</property>\n        <property name=\"includel10nDirectories\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"select2_directory_fetch_mode\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Fetch Mode</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the fetch mode for directory entries.\n          Directory entries can either be fetched if they start with the\n          search term or if thery contain the search term.\n          Available since 5.9.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>contains</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Starts with (default)\" itemValue=\"false\" />\n        <option itemLabel=\"Contains\" itemValue=\"true\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"select2_dbl10n\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Activate database localization</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Activate retrieval of localized labels in the\n          vocabulary database, when translations are held by the directory\n          itself, in fields with a label_[lang] pattern, and defaulting to\n          label_en. Available since 6.0.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dbl10n</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_canSelectParent\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Can select parent</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this option to allow selection of\n          intermediate\n          groups.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>canSelectParent</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_filterParent\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Filter parent</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this option to apply filter on\n          intermediate\n          groups.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>filterParent</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_dropdownOnArrow\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Dropdown on Arrow </label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this option to dropdown the suggestions only when clicking the arrow on\n          the right of the single suggestion widget. By default the suggestions are\n          dropped down wherever you click.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dropdownOnArrow</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_separator\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select2 separator</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Separator character or string used to delimit ids\n          in value attribute of the multi-valued selects.\n          The default delimiter is the , character.\n        </label>\n      </helpLabels>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"view_reference\">view</mode>\n      </widgetModes>\n      <fields>\n        <field>separator</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_frequency\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select2 frequency</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Delay (in milliseconds) before sending a request\n          to the server after a character is typed.\n          Default value is 300ms.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>frequency</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_closeOnSelect\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Select2 closeOnSelect</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n         If set to false the dropdown is not closed after a selection is made,\n         allowing for rapid selection of multiple items.\n         By default this option is set to true.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>closeOnSelect</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_directory_labelFieldName\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Label field name</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the Directory field that should be\n          used to\n          define the Label of entry.\n          If not set 'label'\n          will be\n          used. In case of\n          localization with a directory field for\n          each supported language (see\n          dbl10n option), by default\n          fields with pattern like 'label_en',\n          'label_fr' or\n          'label_de' will\n          be searched. You can customize looked up\n          fields by\n          specifying\n          a pattern like\n          'label_{lang}' where the part {lang}\n          will be\n          replaced with\n          the current locale.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>labelFieldName</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestionSearchType\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Search type</label>\n      </labels>\n      <fields>\n        <field>userSuggestionSearchType</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Users and Groups\" itemValue=\"\" />\n        <option itemLabel=\"Users\" itemValue=\"USER_TYPE\" />\n        <option itemLabel=\"Groups\" itemValue=\"GROUP_TYPE\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"userSuggestion_groupRestriction\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Group id restriction</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Enter the id of a group to suggest only user from this\n          group.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>groupRestriction</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_prefixed\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Use prefixed reference</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Check this box if you want the references prefixed\n          with \"user:\" or \"group:\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>prefixed</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_firstLabelField\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">First label field</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Field to use as the first label when displaying the\n          selected user. Defaults to 'firstName'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>firstLabelField</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_secondLabelField\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Second label field</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Field to use as the second label when displaying the\n          selected user. Defaults to 'lastName'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>secondLabelField</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_thirdLabelField\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Third label field</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Field to use as the third label when displaying the\n          selected user. Defaults to 'email'. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>thirdLabelField</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideFirstLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide first label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the first label should be\n          hidden. Defaults to false.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideFirstLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideSecondLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide second label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the second label should be\n          hidden.Defaults to false.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSecondLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideThirdLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide third label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the third label should be\n          hidden. Defaults to false. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideThirdLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_displayAction\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display action</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The display action to use when rendering the user or\n          group. Can be 'nothing' to just display text only, 'view' to have a\n          link going to the user or group view, or 'edit' to have a link going\n          to the user or group edition. The 'edit' action assumes the widget is\n          used in the Users and Groups management.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>displayAction</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"View\" itemValue=\"view\" />\n        <option itemLabel=\"Edit\" itemValue=\"edit\" />\n        <option itemLabel=\"Nothing\" itemValue=\"nothing\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"userSuggestion_displayEmailInSuggestion\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display email for users</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean indicating if the email should be displayed\n          for users. Defaults to false. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>displayEmailInSuggestion</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestionMaxSearchResults\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Max search results</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Number of maximum search results in the suggestion\n          (defaults to 0 that means no limit).\n        </label>\n      </helpLabels>\n      <fields>\n        <field>userSuggestionMaxSearchResults</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_minChars\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Minimum characters</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The minimal number of characters to type for the\n          suggestion to be active. Defaults to 3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>minChars</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_resultLimit\" type=\"int\">\n      <sinceVersion>8.2</sinceVersion>\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Limit returned results</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The maximal number of result returned by the suggestion.\n          Defaults to unlimited.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>limit</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_frequency\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Frequency</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Delay (in seconds) before activating the suggestion\n          pop-up. Default value is 0.\n        </label>\n      </helpLabels>\n\n      <fields>\n        <field>frequency</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_requestDelay\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Request delay</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The requestDelay attribute specifies an amount of time\n          in milliseconds for the request to wait in the queue before being sent\n          to the server. If a similar request is added to the queue before the\n          delay is over, the original request is removed from the queue and not\n          sent.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>requestDelay</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_width\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Width</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">The suggestion width.</label>\n      </helpLabels>\n      <fields>\n        <field>width</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_helpLabel\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Help Label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The help label is displayed below the\n          widget.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>helpLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_containerCssClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Container css class</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Css class of the Select2 selection container\n        </label>\n      </helpLabels>\n      <fields>\n        <field>containerCssClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_dropdownCssClass\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Dropdown css class</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Css class of the Select2 dropdown suggestion\n        </label>\n      </helpLabels>\n      <fields>\n        <field>dropdownCssClass</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_suggestionFormatter\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Suggestion Formatter</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the JavaScript function that\n          will be\n          called by select2 to do the formatting of the\n          suggestedentries.\n          The\n          target function should take as input\n          the javascript Document as\n          returned by Automation and should\n          return some Html.\n          Use the \"Inline Javascript\" property field to define your own\n          formatter.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>suggestionFormatter</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_selectionFormatter\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Selection Formatter</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the JavaScript function that\n          will be\n          called by the widget to do the formatting of the\n          selected entries.\n          The\n          target function should take as input\n          the javascript Document as\n          returned by Automation and should\n          return some Html.\n          Use the \"Inline Javascript\" property field to define your own\n          formatter.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>selectionFormatter</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_additionalParam\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Additional Operation Parameters</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Name of the JavaScript function that\n          will be\n          called by select2 to pass additional parameters to\n          the automation operation. See https://doc.nuxeo.com/x/iQhvAQ.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>additionalOperationParameters</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_inlinejsDemoPreview\" type=\"textarea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Inline Javascript</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">#{layout.mode}</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          Javascript to be injected in the page with\n          the Widget.\n          You can define here custom formatters\n          referenced in \"Selection\n          Formatter\" and\n          \"Suggestion Formatter\" fields. Example:\n          &lt;pre&gt;\n          function myFormatter(entry) {\n          var markup = entry.displayLabel;\n          return markup;\n          }\n          &lt;/pre&gt; </label>\n      </helpLabels>\n      <fields>\n        <field>inlinejs</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_inlinejs\" type=\"codearea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Inline Javascript</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          Javascript to be injected in the page with\n          the Widget.\n          You can define here custom formatters\n          referenced in \"Selection\n          Formatter\" and\n          \"Suggestion Formatter\" fields. Example:\n          &lt;pre&gt;\n          function myFormatter(entry) {\n          var markup = entry.displayLabel;\n          return markup;\n          }\n          &lt;/pre&gt; </label>\n      </helpLabels>\n      <fields>\n        <field>inlinejs</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"language\">javascript</property>\n      </properties>\n    </widget>\n\n    <widget name=\"select2_directorySuggestion_canAddNewEntry\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Can add new entry</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Boolean stating if user should be able to add a new\n          entry on the directory from this widget. Available since 5.9.1,\n          defaults to \"false\".\n        </label>\n      </helpLabels>\n      <fields>\n        <field>canAddNewEntry</field>\n      </fields>\n    </widget>\n\n    <widget name=\"select2_directorySuggestion_addNewEntryFilter\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Filter for adding a new entry</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The action filter id used to check whether user should\n          be presented the 'add new entry' action on the suggestion widget.\n          The\n          variable 'directoryName' is available in context for this filter\n          evaluation. Available since 5.9.1, defaults to\n          'canAddEntryFromSuggestDirectoryWidget'.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>addNewEntryFilter</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_tab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The tab to select when clicking on the document link.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>tab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_subTab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The sub tab to select when clicking on the document\n          link.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>subTab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_pageProviderName\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Document page provider name</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The page provider that will be called to perform a\n          search for the suggestion. It must accept one parameter that will be\n          replaced by the suggestion input. Since 5.7, additional parameters set\n          on the page provider definition will also be taken into account (but\n          the suggestion input will still be used as the first implicit\n          parameter). If no name is defined, a default page provider is used.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pageProviderName</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_pageProviderPageSize\" type=\"int\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Document page provider page size</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Page provider result's page size. Default value is 20.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pageSize</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_queryDemoPreview\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">NXQL Query</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">hidden</mode>\n        <mode value=\"edit_demo_preview\">#{layout.mode}</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          NXQL Query to fetch the suggestions. This property is\n          ignored if a\n          Page Provider name is given.\n          The widget doesn't append a '%'\n          wildcard to the parameter passed to query.\n          &lt;p&gt;\n          Example: select *\n          from Document where dc:title LIKE '?%'\n          &lt;/p&gt;\n        </label>\n      </helpLabels>\n      <fields>\n        <field>query</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_query\" type=\"codearea\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">NXQL Query</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"edit_demo_preview\">hidden</mode>\n      </widgetModes>\n      <helpLabels>\n        <label mode=\"any\">\n          NXQL Query to fetch the suggestions. This property is\n          ignored if a\n          Page Provider name is given.\n          The widget doesn't append a '%'\n          wildcard to the parameter passed to query.\n          &lt;p&gt;\n          Example: select *\n          from Document where dc:title LIKE '?%'\n          &lt;/p&gt;\n        </label>\n      </helpLabels>\n      <fields>\n        <field>query</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"language\">nxql</property>\n      </properties>\n    </widget>\n\n    <widget name=\"documentSuggestion_documentSchemas\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Document Schemas</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Document Schemas that should be fetched and\n          sent to the\n          JS client side. You can enter comma separated values.\n          &lt;p&gt;\n          Example: dublincore,common\n          &lt;/p&gt; </label>\n      </helpLabels>\n      <fields>\n        <field>documentSchemas</field>\n      </fields>\n    </widget>\n\n    <widget name=\"documentSuggestion_repository\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Target Repository</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Id of the Nuxeo repositry that should be\n          accessed.\n          If\n          unsed, the default repository will be used.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>repository</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_orderable\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Orderable</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to order the\n          selected items. Available since 5.6.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>orderable</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_hideSearchTypeText\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide Search Type Label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to hide the\n          search type label. Available since 5.7.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideSearchTypeText</field>\n      </fields>\n    </widget>\n\n    <widget name=\"userSuggestion_displaySuggestionOnTop\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Display Suggestion On Top</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to display the\n          suggestion\n          box on top of the search results. Available since 5.7.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>displaySuggestionOnTop</field>\n      </fields>\n    </widget>\n\n    <widget name=\"suggestion_hideHelpLabel\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide Help Label</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          This attribute controls the possibility to hide the\n          help label. Available since 5.7.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideHelpLabel</field>\n      </fields>\n    </widget>\n\n    <widget name=\"ajaxReRender\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Ajax reRender</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Ajax rerender ids, separated by commas.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>ajaxReRender</field>\n      </fields>\n    </widget>\n\n    <widget name=\"actionsDisplay\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Actions Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to 'buttons', actions will be displayed as\n          command\n          buttons. If set to 'links', actions will be displayed as\n          command links. If set to 'icons', actions will be displayed\n          as icons.\n          Else (default behaviour), actions will be\n          displayed as command links\n          and display their icons when\n          defined.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>actionsDisplay</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Icons and links (default)\" itemValue=\"icons_links\" />\n        <option itemLabel=\"Icons\" itemValue=\"icons\" />\n        <option itemLabel=\"Buttons\" itemValue=\"buttons\" />\n        <option itemLabel=\"Links\" itemValue=\"links\" />\n      </selectOptions>\n    </widget>\n\n    <widget name=\"formActionsDisplay\" type=\"selectOneListbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Actions Display</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          If set to 'buttons', actions will be displayed as\n          command\n          buttons. If set to 'links', actions will be displayed as\n          command links. If set to 'icons', actions will be displayed\n          as icons.\n          Else (default behaviour), actions will be\n          displayed as command links\n          and display their icons when\n          defined.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>actionsDisplay</field>\n      </fields>\n      <selectOptions>\n        <option itemLabel=\"Buttons (default)\" itemValue=\"buttons\" />\n        <option itemLabel=\"Icons and links\" itemValue=\"icons_links\" />\n        <option itemLabel=\"Icons\" itemValue=\"icons\" />\n        <option itemLabel=\"Links\" itemValue=\"links\" />\n      </selectOptions>\n    </widget>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n\n    <widgetType name=\"select_path_tree\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Path tree</title>\n        <description>\n          Widget allowing to select one or more values from a Tree\n          constructed\n          from the navigation tree.\n\n          Set 'showAllDomains' property to\n          true if you want to be able to select\n          a path from an other domain than\n          the current one.\n        </description>\n        <categories>\n          <category>search</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>path</type>\n          </supportedTypes>\n        </fields>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/select_path_tree_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"singleUserSuggestion\">\n      <configuration>\n        <title>Single user/group suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">3</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"singleUserSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_firstLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_secondLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_thirdLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideFirstLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideSecondLabel\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideThirdLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayAction</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"singleUserSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_groupRestriction\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionMaxSearchResults\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownOnArrow</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_user_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"multipleUsersSuggestion\">\n      <configuration>\n        <title>Multiple users/groups suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">3</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"multipleUsersSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_firstLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_secondLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_thirdLabelField\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideFirstLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideSecondLabel\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideThirdLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayAction</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"multipleUsersSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_closeOnSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_groupRestriction\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_prefixed</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionMaxSearchResults\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displayEmailInSuggestion\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/user_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"suggestOneDirectory\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Single directory suggestion</title>\n        <description>\n          <p>Uses Select2 JS library to render a selection / suggestion widget\n            where suggestions are loaded from a given directory.\n          </p>\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">0</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"suggestOneDirectory_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"suggestOneDirectory_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_resultLimit</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_fetch_mode</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_canSelectParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_filterParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">displayObsoleteEntries</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownOnArrow</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_canAddNewEntry</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_addNewEntryFilter</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/suggest_one_directory_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"suggestManyDirectory\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Multiple directory suggestion</title>\n        <description>\n          <p>Uses Select2 JS library to render a selection / suggestion widget\n            where suggestions are loaded from a given directory.\n          </p>\n        </description>\n        <categories>\n          <category>document</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"minChars\">0</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"suggestManyDirectory_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"suggestManyDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_name</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_closeOnSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_resultLimit</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_fetch_mode</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">directory_localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dbl10n</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directory_labelFieldName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_canSelectParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_filterParent</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">displayObsoleteEntries</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_canAddNewEntry</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_directorySuggestion_addNewEntryFilter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/suggest_many_directory_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <!-- deprecated since 5.7.3, use a multipleUsersSuggestion with \"prefixed\" property\n      = true now -->\n    <widgetType name=\"multiplePrefixedUsersSuggestion\">\n      <configuration>\n        <title>Multiple prefixed users/groups suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout\n              name=\"multiplePrefixedUsersSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionSearchType</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestionMaxSearchResults\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_requestDelay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_displaySuggestionOnTop\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">userSuggestion_hideSearchTypeText\n                  </widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/user_prefixed_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"multipleDocumentsSuggestion\">\n      <configuration>\n        <title>Multiple documents suggestion</title>\n        <sinceVersion>5.4.2</sinceVersion>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"pageProviderName\">default_document_suggestion</property>\n            <property name=\"documentSchemas\">dublincore,common</property>\n            <property name=\"minChars\">3</property>\n            <property name=\"restoreSeamCtx\">true</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"multipleDocumentsSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_subTab</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"multipleDocumentsSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_closeOnSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_orderable</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_query</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_queryDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderPageSize\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_repository</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_documentSchemas\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_additionalParam</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_separator</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/multiple_document_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"singleDocumentSuggestion\">\n      <configuration>\n        <title>Single document suggestion</title>\n        <sinceVersion>5.5</sinceVersion>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"width\">100%</property>\n          </defaultValues>\n          <defaultValues mode=\"edit\">\n            <property name=\"pageProviderName\">default_document_suggestion</property>\n            <property name=\"documentSchemas\">dublincore,common</property>\n            <property name=\"minChars\">3</property>\n            <property name=\"restoreSeamCtx\">true</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"singleDocumentSuggestion_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_subTab</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"singleDocumentSuggestion_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">placeholder</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_width</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_frequency</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_minChars</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_query</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_queryDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderName\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_pageProviderPageSize\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_repository</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">documentSuggestion_documentSchemas\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_helpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">suggestion_hideHelpLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_containerCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownCssClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_inlinejsDemoPreview</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_selectionFormatter</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_suggestionFormatter\n                  </widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_additionalParam</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">select2_dropdownOnArrow</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_document_suggestion_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"title_link\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Title with link</title>\n        <description>\n          <p>\n            This widget type displays a link to navigate to a document, as well\n            as a download link for the document binary content.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the document link and its title\n              </li>\n              <li>\n                second field maps the unique id to be used for contextual menu\n                (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed link title (can be the document\n                model description)\n              </li>\n              <li>\n                fourth field maps the document model file to be used for\n                download link\n              </li>\n              <li>\n                fifth field maps the file name to be used for download link\n                (can be the document model file name property value)\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following properties configuration:\n            <ul>\n              <li>\n                file_schema: the file schema name, used to check whether\n                download link should be displayed (e.g: file)\n              </li>\n              <li>\n                file_property_name: the file property name (e.g file:content)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"title_linkWidget\" />\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:title</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field></field>\n            <field>ref</field>\n            <field>dc.description</field>\n            <field>file.content</field>\n            <field>file.content.filename</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>standalone</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"hideExternalLink\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"title_link_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>tab</widget>\n                </row>\n                <row>\n                  <widget>subTab</widget>\n                </row>\n                <row>\n                  <widget>target</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n                <row>\n                  <widget>hideExternalLink</widget>\n                </row>\n                <row>\n                  <widget>hideDownloadLink</widget>\n                </row>\n              </rows>\n              <widget name=\"tab\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Tab</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The tab to select when clicking on the\n                    document link.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>tab</field>\n                </fields>\n              </widget>\n              <widget name=\"subTab\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Sub Tab</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The sub tab to select when clicking on the\n                    document link.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>subTab</field>\n                </fields>\n              </widget>\n              <widget name=\"target\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Target</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The target attribute of the link.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>target</field>\n                </fields>\n              </widget>\n              <widget name=\"localize\" type=\"checkbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Flag indicating that the title is localized.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n              <widget name=\"hideExternalLink\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide External Link</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Flag indicating that the external link, opening the document\n                    in a new conversation, must be hidden.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideExternalLink</field>\n                </fields>\n              </widget>\n              <widget name=\"hideDownloadLink\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide Download Link</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Flag indicating that the download link must be hidden.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideDownloadLink</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_title_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"title_and_permlink\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Title and permanent link</title>\n        <description>\n          This widgets displays the document title with a permlink icon. If the\n          document is a version, the major and minor are displayed in\n          parenthesis.\n\n          One field is required :\n          <ul>\n            <li>an empty field to map the document</li>\n          </ul>\n\n          Since 5.5, it also displays the document header related actions.\n          They\n          must be contributed in one of the following categories:\n          <ul>\n            <li>DOCUMENT_HEADER_ACTIONS_LIST</li>\n            <li>DOCUMENT_HEADER_ACTIONS_LIST_HREF</li>\n          </ul>\n\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field></field>\n            <field>uid:major_version</field>\n            <field>uid:minor_version</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>standalone</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"title_and_permlink_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n              </rows>\n              <widget name=\"localize\" type=\"checkbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Available since 5.7.1. Flag indicating that\n                    the title is localized.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/title_with_permlink_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"select_l10n_vocabulary_tree\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>Localized vocabulary tree</title>\n        <description>\n          Widget allowing to select one or more values in a tree\n          constructed\n          from a l10nvocabulary or l10nxvocabulary directory.\n        </description>\n        <categories>\n          <category>search</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"select_l10n_vocabulary_tree_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>directoryName</widget>\n                </row>\n                <row>\n                  <widget>directoryNameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>selectIdOnly</widget>\n                </row>\n                <row>\n                  <widget>keySeparator</widget>\n                </row>\n              </rows>\n              <widget name=\"directoryName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <fields>\n                  <field>directoryName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">vocabularies</property>\n                </properties>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"directoryNameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <fields>\n                  <field>directoryName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n                <properties widgetMode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"selectIdOnly\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Select id only</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, only the entries id are\n                    stored instead of\n                    their path.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>selectIdOnly</field>\n                </fields>\n              </widget>\n              <widget name=\"keySeparator\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Key separator</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The string used to separate directory keys\n                    in the value.\n                    Defaults to \"/\".\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>keySeparator</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"select_l10n_vocabulary_tree_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>multiSelect</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">displayObsoleteEntries</widget>\n                </row>\n                <row>\n                  <widget>ordering</widget>\n                </row>\n              </rows>\n              <widget name=\"multiSelect\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Multiple selection</label>\n                </labels>\n                <fields>\n                  <field>multiSelect</field>\n                </fields>\n              </widget>\n              <widget name=\"ordering\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Sort criterion</label>\n                </labels>\n                <fields>\n                  <field>ordering</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"Label (default)\" itemValue=\"label\" />\n                  <option itemLabel=\"Ordering\" itemValue=\"ordering\" />\n                  <option itemLabel=\"Id\" itemValue=\"id\" />\n                </selectOptions>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/select_l10n_vocabulary_tree_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"contentViewWithForms\">\n      <configuration>\n        <sinceVersion>5.6</sinceVersion>\n        <title>Content view</title>\n        <description>\n          This widget displays a content view, with forms inside it.\n\n          Note that usually layouts do not contain any forms, but are surrounded\n          by one, and nesting forms breaks the available actions. So you should\n          make sure there is no enclosing form around the layout, or around this\n          widget, when using it.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <containingForm>true</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"useAjaxPagination\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"contentView_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>contentViewName</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget>useAjaxPagination</widget>\n                </row>\n                <row>\n                  <widget>ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget>hideTopPaginationControls</widget>\n                </row>\n                <row>\n                  <widget>defaultPageSize</widget>\n                </row>\n                <row>\n                  <widget>showPageSizeSelector</widget>\n                </row>\n                <row>\n                  <widget>showRefreshCommand</widget>\n                </row>\n                <row>\n                  <widget>showFilterForm</widget>\n                </row>\n                <row>\n                  <widget>showSyndicationLinks</widget>\n                </row>\n                <row>\n                  <widget>showCSVExport</widget>\n                </row>\n                <row>\n                  <widget>showPDFExport</widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <!-- not exposed in studio for now -->\n                <row>\n                  <widget>foldableBoxStyleClass</widget>\n                </row>\n                <row>\n                  <widget>foldedIfEmpty</widget>\n                </row>\n                <row>\n                  <widget>hideEmpty</widget>\n                </row>\n                <row>\n                  <widget>contentViewIconPath</widget>\n                </row>\n                <!-- not sure this is a good idea: there are other forms in the template -->\n                <!-- <row> <widget>removeForm</widget> </row> -->\n              </rows>\n              <widget name=\"contentViewName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Content View name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The content view to display.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>contentViewName</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">contentViews</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the content view.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, selection actions will be\n                    performed using ajax. Note that sometimes, selection actions\n                    will require you to reload the whole page for other elements\n                    than the content view to be re-rendered, so using ajax will\n                    not be user friendly in these cases. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxForm</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxPagination\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax pagination</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, pagination actions (first,\n                    previous, next, last) actions will be performed using ajax.\n                    Defaults to true since version 7.10.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxPagination</field>\n                </fields>\n              </widget>\n              <widget name=\"ajaxReRender\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Ajax reRender</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given ajax reRender ids will be added to\n                    the zones to\n                    reRender on some actions (page navigation,\n                    result layout\n                    selection, selection actions...). Available\n                    since 5.7.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>ajaxReRender</field>\n                </fields>\n              </widget>\n              <widget name=\"hideTopPaginationControls\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show only bottom pagination controls</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, pagination actions (first,\n                    previous, next, last) actions will only be displayed below\n                    the results. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideTopPaginationControls</field>\n                </fields>\n              </widget>\n              <widget name=\"defaultPageSize\" type=\"int\">\n                <labels>\n                  <label mode=\"any\">Default page size</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The default page size to use instead of the\n                    value set on the content view definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>defaultPageSize</field>\n                </fields>\n              </widget>\n              <widget name=\"showPageSizeSelector\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show page size selector</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the page size\n                    selector, overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showPageSizeSelector</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\"\n                    itemValue=\"\" />\n                  <option itemLabel=\"No\" itemValue=\"false\" />\n                  <option itemLabel=\"Yes\" itemValue=\"true\" />\n                </selectOptions>\n              </widget>\n              <widget name=\"showRefreshCommand\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show refresh command</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the refresh command,\n                    overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showRefreshCommand</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\"\n                    itemValue=\"\" />\n                  <option itemLabel=\"No\" itemValue=\"false\" />\n                  <option itemLabel=\"Yes\" itemValue=\"true\" />\n                </selectOptions>\n              </widget>\n              <widget name=\"showFilterForm\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show filter form</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the filter form,\n                    overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showFilterForm</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\"\n                    itemValue=\"\" />\n                  <option itemLabel=\"No\" itemValue=\"false\" />\n                  <option itemLabel=\"Yes\" itemValue=\"true\" />\n                </selectOptions>\n              </widget>\n              <widget name=\"showSyndicationLinks\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show syndication links</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide syndication links,\n                    overriding the value set on the content view\n                    definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showSyndicationLinks</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\"\n                    itemValue=\"\" />\n                  <option itemLabel=\"No\" itemValue=\"false\" />\n                  <option itemLabel=\"Yes\" itemValue=\"true\" />\n                </selectOptions>\n              </widget>\n              <widget name=\"showCSVExport\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show CSV export</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the CSV export link,\n                    overriding the value set on the content view definition for\n                    every result layouts. Warning: the content view result\n                    layouts should be configured to handle a CSV export.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showCSVExport</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\"\n                    itemValue=\"\" />\n                  <option itemLabel=\"No\" itemValue=\"false\" />\n                  <option itemLabel=\"Yes\" itemValue=\"true\" />\n                </selectOptions>\n              </widget>\n              <widget name=\"showPDFExport\" type=\"selectOneListbox\">\n                <labels>\n                  <label mode=\"any\">Show PDF export</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to show or hide the PDF export link,\n                    overriding the value set on the content view definition for\n                    every result layouts. Warning: the content view result\n                    layouts should be configured to handle a CSV export.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showPDFExport</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"(Default value from content view configuration)\"\n                    itemValue=\"\" />\n                  <option itemLabel=\"No\" itemValue=\"false\" />\n                  <option itemLabel=\"Yes\" itemValue=\"true\" />\n                </selectOptions>\n              </widget>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the content view will be\n                    displayed in a box that can be folded/unfolded in\n                    javascript. Ignored if the widget is not marked as handling\n                    labels as the header will not be displayed in this case. If\n                    the widget label is empty, the content view title will be\n                    used. If this title is also empty, a default label will be\n                    shown. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <!-- not exposed in studio for now -->\n              <widget name=\"foldableBoxStyleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Foldable Box Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be used on the\n                    foldable box.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldableBoxStyleClass</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedIfEmpty\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded if empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedIfEmpty</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"hideEmpty\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide if empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Boolean to hide the complete rendering when\n                    content view is empty\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideEmpty</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"contentViewIconPath\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Content icon path</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The icon to display instead of the value set\n                    on the content view definition.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>contentViewIconPath</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"removeForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Remove form on content listing</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>removeForm</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/content_view_with_forms_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"contentViewSearchLayout\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Content view search layout</title>\n        <description>\n          This widget displays the search layout of a content view.\n        </description>\n        <categories>\n          <category>configuration_not_ready</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"contentView_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>contentViewName</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n              </rows>\n              <widget name=\"contentViewName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Content View name</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Displays the search layout of this content\n                    view.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>contentViewName</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">contentViews</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the search layout.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/content_view_search_layout_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"saveBox\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Save box</title>\n        <description>\n          <p>This widget displays a save box with one input for the title and\n            one button to save.\n          </p>\n\n          <p>The input is mapped to the field of the widget.</p>\n\n          <p>It needs the action id as property \"actionId\" for\n            the \"save\" button.\n          </p>\n        </description>\n        <categories>\n          <category>configuration_not_ready</category>\n          <!--\n            <category>tab_designer</category>\n          -->\n        </categories>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/save_box_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"toggleableLayoutWithForms\">\n      <configuration>\n        <sinceVersion>5.6</sinceVersion>\n        <title>Toggleable form</title>\n        <description>\n          This widget displays a form layout which mode can be\n          toggled, with forms inside it.\n\n          Note that usually layouts do not contain\n          any forms, but are surrounded by one, and nesting forms breaks the\n          available actions. So you should make sure there is no enclosing form\n          around the layout, or around this widget, when using it.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"toggleableLayoutViewWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>initialLayoutName</widget>\n                </row>\n                <row>\n                  <widget>initialLayoutNameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>toggledLayoutName</widget>\n                </row>\n                <row>\n                  <widget>toggledLayoutNameDemoPreview</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>canToggleMode</widget>\n                </row>\n                <row>\n                  <widget>hideDefaultActions</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategory</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategoryDemo</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">formActionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">widgetsDisplay</widget>\n                </row>\n                <row>\n                  <widget>showEditOptions</widget>\n                </row>\n                <row>\n                  <widget>useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <row>\n                  <widget>displayToggleActionInHeader</widget>\n                </row>\n                <row>\n                  <widget>initialActionLabel</widget>\n                </row>\n                <row>\n                  <widget>cancelActionLabel</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"initialLayoutName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display before toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"initialLayoutNameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display before toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"toggledLayoutName\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Toggled layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display after toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas. If not filled, defaults to the initial\n                    layout name(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>toggledLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                </properties>\n              </widget>\n              <widget name=\"toggledLayoutNameDemoPreview\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Toggled layout(s)</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout to display after toggling the\n                    mode. Also accepts a list of multiple layout names,\n                    separated by commas. If not filled, defaults to the initial\n                    layout name(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>toggledLayoutName</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout template to use instead of the\n                    one already set\n                    on the layout(s) definition(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the layout.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"canToggleMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Can toggle mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The boolean property to resolve when\n                    deciding whether the toggle button should be displayed or\n                    not. Defaults to an EL expression checking permission\n                    'Write' on the document. Examples: false,\n                    #{webActions.checkFilter('canToggleLayoutToEditMode') and\n                    currentUser.isMemberOf('togglers_groups')}.\n                    Default\n                    expression used (includes check for permission 'Write',\n                    check if document is in the trash, and check if document is\n                    mutable -- not a proxy nor a version):\n                    #{webActions.checkFilter('canToggleLayoutToEditMode')}\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>canToggleMode</field>\n                </fields>\n              </widget>\n              <widget name=\"hideDefaultActions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide default actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions from the default\n                    category 'EDIT_DOCUMENT_FORM' will not be displayed on the\n                    layout in toggled mode. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideDefaultActions</field>\n                </fields>\n              </widget>\n              <widget name=\"additionalActionsCategory\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"additionalActionsCategoryDemo\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"showEditOptions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show edit options</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, additional edit options\n                    (like a textarea for comment to be visible in the document\n                    history) will be visible after the layout in toggled (edit)\n                    mode. Only visible if value bound to the layout is a\n                    document model. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showEditOptions</field>\n                </fields>\n              </widget>\n              <widget name=\"displayToggleActionInHeader\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Display toggle action in header</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true (and widget has a header,\n                    because it handles its label), actions will be displayed in\n                    the header. This includes the \"toggle\" action, as well as\n                    \"save\" actions. Only the \"toggle\" action is hidden from the\n                    rendering when it is displayed on top. \"Save\" actions are\n                    shown twice. Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>displayToggleActionInHeader</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions will be performed\n                    using ajax. Note that sometimes, actions will require you to\n                    reload the whole page for other elements than the current\n                    zone to be re-rendered, so using ajax will not be user\n                    friendly in these cases. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxForm</field>\n                </fields>\n              </widget>\n              <widget name=\"initialActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Initial action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The initial action label to display.\n                    Defaults to 'action.view.modification' (Edit), is translated\n                    when the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"cancelActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cancel action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The toggled action label to display.\n                    Defaults to 'command.cancel' (Cancel), is translated when\n                    the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cancelActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the layout will be\n                    displayed\n                    in a box that can be folded/unfolded in\n                    javascript. Ignored\n                    if the widget is not marked as handling\n                    labels as the header\n                    will not be displayed in this case. If\n                    the widget label is\n                    empty, a default label will be\n                    shown. Available since 5.7,\n                    defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/toggleable_layout_with_forms_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"toggleableDocumentLayoutWithForms\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Toggleable Document Form</title>\n        <description>\n          This widget displays the document layouts of a document\n          which mode\n          can be toggled, with forms inside it.\n\n          Note that usually\n          layouts do not contain\n          any forms, but are surrounded by one, and\n          nesting forms breaks the\n          available actions. So you should make sure\n          there is no enclosing form\n          around the layout, or around this widget,\n          when using it.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"toggleableLayoutViewWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>initialDocumentMode</widget>\n                </row>\n                <row>\n                  <widget>toggledDocumentMode</widget>\n                </row>\n                <row>\n                  <widget>styleClass</widget>\n                </row>\n                <row>\n                  <widget>canToggleMode</widget>\n                </row>\n                <row>\n                  <widget>hideDefaultActions</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategory</widget>\n                </row>\n                <row>\n                  <widget>additionalActionsCategoryDemo</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">formActionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">widgetsDisplay</widget>\n                </row>\n                <row>\n                  <widget>showEditOptions</widget>\n                </row>\n                <row>\n                  <widget>useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget>foldable</widget>\n                </row>\n                <row>\n                  <widget>foldedByDefault</widget>\n                </row>\n                <row>\n                  <widget>displayToggleActionInHeader</widget>\n                </row>\n                <row>\n                  <widget>initialActionLabel</widget>\n                </row>\n                <row>\n                  <widget>cancelActionLabel</widget>\n                </row>\n                <row>\n                  <widget>defaultLayout</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n              </rows>\n              <widget name=\"initialDocumentMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Initial document mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The initial document mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialDocumentMode</field>\n                </fields>\n              </widget>\n              <widget name=\"toggledDocumentMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Toggled document mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The toggled document mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>toggledDocumentMode</field>\n                </fields>\n              </widget>\n              <widget name=\"defaultLayout\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Default layout</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The default layout to use if no layout are defined\n                    for the given document mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>defaultLayout</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                </properties>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout template to use instead of the\n                    one already set\n                    on the layout(s) definition(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n              </widget>\n              <widget name=\"styleClass\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Style class</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The given style class will be put in a \"div\"\n                    element around the layout.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>styleClass</field>\n                </fields>\n              </widget>\n              <widget name=\"canToggleMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Can toggle mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The boolean property to resolve when\n                    deciding whether the toggle button should be displayed or\n                    not. Defaults to an EL expression checking permission\n                    'Write' on the document. Examples: false,\n                    #{nxd:hasPermission(value, 'Write') and\n                    currentUser.isMemberOf('togglers_groups')}.\n                    Default\n                    expression used:\n                    #{webActions.checkFilter('canToggleLayoutToEditMode')}\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>canToggleMode</field>\n                </fields>\n              </widget>\n              <widget name=\"hideDefaultActions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Hide default actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions from the default\n                    category 'EDIT_DOCUMENT_FORM' will not be displayed on the\n                    layout in toggled mode. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>hideDefaultActions</field>\n                </fields>\n              </widget>\n              <widget name=\"additionalActionsCategory\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"edit_demo_preview\">hidden</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"additionalActionsCategoryDemo\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Additional actions category</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The additional actions category to use when\n                    displaying the layout in toggled mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>additionalActionsCategory</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"any\">hidden</mode>\n                  <mode value=\"edit_demo_preview\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"showEditOptions\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Show edit options</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, additional edit options\n                    (like a textarea for comment to be visible in the document\n                    history) will be visible after the layout in toggled (edit)\n                    mode. Only visible if value bound to the layout is a\n                    document model. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>showEditOptions</field>\n                </fields>\n              </widget>\n              <widget name=\"displayToggleActionInHeader\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Display toggle action in header</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true (and widget has a header,\n                    because it handles its label), actions will be displayed in\n                    the header. This includes the \"toggle\" action, as well as\n                    \"save\" actions. Only the \"toggle\" action is hidden from the\n                    rendering when it is displayed on top. \"Save\" actions are\n                    shown twice. Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>displayToggleActionInHeader</field>\n                </fields>\n              </widget>\n              <widget name=\"useAjaxForm\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Use ajax actions</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, actions will be performed\n                    using ajax. Note that sometimes, actions will require you to\n                    reload the whole page for other elements than the current\n                    zone to be re-rendered, so using ajax will not be user\n                    friendly in these cases. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>useAjaxForm</field>\n                </fields>\n              </widget>\n              <widget name=\"initialActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Initial action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The initial action label to display.\n                    Defaults to 'action.view.modification' (Edit), is translated\n                    when the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>initialActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"cancelActionLabel\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cancel action label</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The toggled action label to display.\n                    Defaults to 'command.cancel' (Cancel), is translated when\n                    the widget is translated.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cancelActionLabel</field>\n                </fields>\n              </widget>\n              <widget name=\"foldable\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Foldable</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, the content view will be\n                    displayed in a box that can be folded if users would like to\n                    hide this content view content. Note that this state is not\n                    persisted. Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldable</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n              <widget name=\"foldedByDefault\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Folded by default</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Available since 5.7, defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>foldedByDefault</field>\n                </fields>\n                <widgetModes>\n                  <mode value=\"view_reference\">view</mode>\n                </widgetModes>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/toggleable_document_layout_with_forms_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentLayout\">\n      <configuration>\n        <sinceVersion>6.0</sinceVersion>\n        <title>Document Layouts</title>\n        <description>\n          This widget displays the document layouts of a document\n          for the given mode.\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <handlingLabels>true</handlingLabels>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"documentLayoutView_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>mode</widget>\n                </row>\n                <row>\n                  <widget>documentMode</widget>\n                </row>\n                <row>\n                  <widget>template</widget>\n                </row>\n                <row>\n                  <widget>defaultLayout</widget>\n                </row>\n                <row>\n                  <widget>canToggleMode</widget>\n                </row>\n              </rows>\n              <widget name=\"mode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>mode</field>\n                </fields>\n              </widget>\n              <widget name=\"documentMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Document mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The document mode to use.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>documentMode</field>\n                </fields>\n              </widget>\n              <widget name=\"template\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Template</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The layout template to use instead of the\n                    one already set\n                    on the layout(s) definition(s).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>template</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layout_templates</property>\n                </properties>\n              </widget>\n              <widget name=\"defaultLayout\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Default layout</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The default layout to use if no layout are defined\n                    for the given document mode.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>defaultLayout</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">layouts</property>\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"canToggleMode\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Can toggle mode</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The boolean property to resolve when\n                    deciding whether the toggle button should be displayed or\n                    not. Defaults to an EL expression checking permission\n                    'Write' on the document. Examples: false,\n                    #{nxd:hasPermission(value, 'Write') and\n                    currentUser.isMemberOf('togglers_groups')}.\n                    Default\n                    expression used:\n                    #{webActions.checkFilter('canToggleLayoutToEditMode')}\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>canToggleMode</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/document_layout_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentActions\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Form actions</title>\n        <description>\n          <p>This widget displays actions filtered on the document given as\n            field mapping.\n          </p>\n          <p>\n            It will display actions in the category given in the 'category'\n            property. The widget label and help label will be displayed above\n            the actions.\n          </p>\n          <p>\n            This widget requires to be surrounded by a form, so if it displays\n            fancybox actions for instance, their popup content cannot contain\n            another form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentActions_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentActions\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Form actions</title>\n        <description>\n          <p>This widget displays actions filtered on the current document.</p>\n          <p>Since 5.7.3, use \"documentActions\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentActions_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentActionsWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Toolbar actions</title>\n        <description>\n          <p>This widget displays actions filtered on the document given as\n            field mapping, and surrounds them by a form.\n          </p>\n          <p>\n            It will display actions in the category given in the 'category'\n            property. The widget label and help label will be displayed above\n            the actions.\n          </p>\n          <p>\n            The fact that actions are surrounded by their own form makes it\n            possible to use fancybox actions for instance, whose popup content\n            would use a different form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentActionsWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentActionsWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Toolbar actions</title>\n        <description>\n          <p>This widget displays actions filtered on the current document, and\n            surrounds them by a form.\n          </p>\n          <p>Since 5.7.3, use \"documentActionsWithForms\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentActionsWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_maxActionsNumber</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_moreMenuLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_actions_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentAction\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Form action</title>\n        <description>\n          <p>This widget displays an action filtered on context using document\n            given as field mapping.\n          </p>\n          <p>\n            It needs the action id as property \"actionId\".\n            <br />\n            Its bound value is used for actions with type \"widget\".\n          </p>\n          <p>\n            This widget requires to be surrounded by a form, so if it displays\n            fancybox actions for instance, their popup content cannot contain\n            another form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentAction_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentAction\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Form action</title>\n        <description>\n          <p>This widget displays an action filtered on current document context\n          </p>\n          <p>Since 5.7.3, use \"documentAction\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>false</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentAction_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_addForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentActionWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <title>Toolbar action</title>\n        <description>\n          <p>This widget displays an action filtered on current document context\n          </p>\n          <p>\n            It needs the action id as property \"actionId\".\n            <br />\n            Its bound value is used for actions with type \"widget\".\n          </p>\n          <p>\n            The fact that action is surrounded by its own form makes it\n            possible to use fancybox actions for instance, whose popup content\n            would use a different form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentActionWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"currentDocumentActionWithForms\">\n      <configuration>\n        <sinceVersion>5.7</sinceVersion>\n        <deprecatedVersion>5.7.3</deprecatedVersion>\n        <title>Toolbar action</title>\n        <description>\n          <p>This widget displays an action filtered on current document context\n          </p>\n          <p>Since 5.7.3, use \"documentActionWithForms\" instead.</p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"currentDocumentActionWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_actionId</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_disableFiltered</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_action_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"documentTabsWithForms\">\n      <configuration>\n        <sinceVersion>5.7.3</sinceVersion>\n        <title>Tabs</title>\n        <description>\n          <p>This widget displays tabs filtered on current document context</p>\n          <p>\n            It needs the action id as property \"actionId\".\n            <br />\n            Its bound value is used for actions with type \"widget\".\n          </p>\n          <p>\n            The fact that action is surrounded by its own form makes it\n            possible to use fancybox actions for instance, whose popup content\n            would use a different form.\n          </p>\n        </description>\n        <categories>\n          <category>tab_designer</category>\n        </categories>\n        <fields>\n          <defaultConfiguration>\n            <field></field>\n          </defaultConfiguration>\n        </fields>\n        <containingForm>true</containingForm>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"trackCurrentAction\">false</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"documentTabsWithForms_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_category</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_useAjaxForm</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">ajaxReRender</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actionsDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">actions_styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_overallDisplay</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_hideSingleTab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_link_view</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">tabs_link_pattern</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/actions/document_tabs_with_forms_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"userVirtualGroups\">\n      <configuration>\n        <sinceVersion>5.5</sinceVersion>\n        <title>User virtual groups</title>\n        <description>\n          This widget displays the user virtual groups.\n        </description>\n        <categories>\n          <category>configuration_not_ready</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/user_vgoups_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"datetimeRange\">\n      <configuration>\n        <title>Datetime range</title>\n        <documentation>\n          Widget used to search on a date range.\n          Two fields are required:\n          <ul>\n            <li>A field to map the min date</li>\n            <li>A field to map the max date</li>\n          </ul>\n        </documentation>\n        <sinceVersion>5.7</sinceVersion>\n        <categories>\n          <category>search</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>date</type>\n          </supportedTypes>\n        </fields>\n        <properties>\n          <defaultValues mode=\"edit\">\n            <property name=\"startDefaultTime\">00:00:00</property>\n            <property name=\"endDefaultTime\">23:59:59</property>\n          </defaultValues>\n          <layouts mode=\"view\">\n            <layout name=\"daterange_widget_type_properties_view\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"daterange_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_format</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_locale</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_timeZone</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerImg</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerLabel</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">datetime_triggerStyleClass</widget>\n                </row>\n                <row>\n                  <widget>datetimeRange_startDefaultTime</widget>\n                </row>\n                <row>\n                  <widget>datetimeRange_endDefaultTime</widget>\n                </row>\n              </rows>\n              <widget name=\"datetimeRange_startDefaultTime\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Datetime Range Start Default Time</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The start default time, ignore if time is\n                    not taken into account in the date pattern/format. Defaults\n                    to 00:00:00, available since 7.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>startDefaultTime</field>\n                </fields>\n                <controls mode=\"any\">\n                  <control name=\"sinceVersion\">7.1</control>\n                </controls>\n              </widget>\n              <widget name=\"datetimeRange_endDefaultTime\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Datetime Range End Default Time</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    The end default time, ignore if time is\n                    not taken into account in the date pattern/format. Defaults\n                    to 23:59:59, available since 7.1.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>endDefaultTime</field>\n                </fields>\n                <controls mode=\"any\">\n                  <control name=\"sinceVersion\">7.1</control>\n                </controls>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/date_range_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"path\">\n      <configuration>\n        <title>Path</title>\n        <documentation>\n          The path widget displays a popup browser in the document\n          hierarchy.\n        </documentation>\n        <sinceVersion>5.7</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n            <type>path</type>\n          </supportedTypes>\n          <defaultTypes>\n            <type>path</type>\n          </defaultTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"path_widget_type_properties\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">required</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">/widgets/search_path_widget.xhtml</property>\n    </widgetType>\n\n    <widgetType name=\"dropZone\">\n      <configuration>\n        <sinceVersion>5.8</sinceVersion>\n        <title>Drop zone</title>\n        <description>\n          <p>\n            The dropZone widget wraps its subwidgets with a div acting as\n            the\n            drop zone to be able to drop files inside it.\n          </p>\n          <p>\n            More information is available on the\n            <a href=\"http://doc.nuxeo.com/x/c4ao\" target=\"_blank\">Drag and\n              Drop Service\n              documentation</a>\n            .\n          </p>\n        </description>\n        <categories>\n          <category>decoration</category>\n        </categories>\n        <supportedModes>\n          <mode>edit</mode>\n          <mode>view</mode>\n        </supportedModes>\n        <acceptingSubWidgets>true</acceptingSubWidgets>\n        <properties>\n          <layouts mode=\"edit\">\n            <layout name=\"dropZone_widget_type_properties\">\n              <rows>\n                <row>\n                  <widget>dropContext</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">styleClass</widget>\n                </row>\n                <row>\n                  <widget>isEmpty</widget>\n                </row>\n                <row>\n                  <widget>emptyMessage</widget>\n                </row>\n                <row>\n                  <widget>cannotDrop</widget>\n                </row>\n                <row>\n                  <widget>cannotDropMessage</widget>\n                </row>\n              </rows>\n              <widget name=\"dropContext\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Drop context</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">The drop context is a marker used to\n                    identify which action will be called on drop. Actions with\n                    the given category will be be taken into account. Their id\n                    should correspond to the operation or automation chain\n                    identifier.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>dropContext</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"isEmpty\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Is empty</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Expression resolving to a boolean stating if\n                    the drop zone is empty. If it resolves to true, subwidgets\n                    are not displayed.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>isEmpty</field>\n                </fields>\n              </widget>\n              <widget name=\"emptyMessage\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Empty message</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Message to display if the drop zone is\n                    empty.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>emptyMessage</field>\n                </fields>\n              </widget>\n              <widget name=\"cannotDrop\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cannot drop</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Expression resolving to a boolean stating if\n                    user should not be able to drop elements inside the drop\n                    zone (because user does not have enough rights to create\n                    documents, for instance).\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cannotDrop</field>\n                </fields>\n              </widget>\n              <widget name=\"cannotDropMessage\" type=\"text\">\n                <labels>\n                  <label mode=\"any\">Cannot drop message</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">Message to display if user cannot drop items\n                    in the drop zone.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>cannotDropMessage</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/drop_zone_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"chainedDirectory\">\n      <configuration>\n        <title>Chained Vocabulary</title>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"chainedDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>childDirectory</widget>\n                </row>\n                <row>\n                  <widget>localize</widget>\n                </row>\n              </rows>\n              <widget name=\"childDirectory\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Select the child or hierarchical directory\n                    mapped.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>childDirectory</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">child_vocabularies</property>\n                </properties>\n                <properties widgetMode=\"edit\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"localize\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">If true, labels will be localized.</label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"chainedDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>required</widget>\n                </row>\n                <row>\n                  <widget>allowBranchSelection</widget>\n                </row>\n                <row>\n                  <widget>on2rows</widget>\n                </row>\n                <row>\n                  <widget>directory_ordering</widget>\n                </row>\n              </rows>\n              <widget name=\"required\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Required</label>\n                </labels>\n                <fields>\n                  <field>required</field>\n                </fields>\n              </widget>\n              <widget name=\"allowBranchSelection\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Allow incomplete selection</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, user cannot select only the\n                    first item in the selection, he will have to select a second\n                    item too. Defaults to false, available since 5.6.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>allowBranchSelection</field>\n                </fields>\n              </widget>\n              <widget name=\"on2rows\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">On 2 rows</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If true, display the selectors on two rows.\n                    Defaults to\n                    false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>on2rows</field>\n                </fields>\n              </widget>\n              <widget name=\"directory_ordering\" type=\"selectOneListbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Sort criterion</label>\n                </labels>\n                <fields>\n                  <field>ordering</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"Label (default)\" itemValue=\"label\" />\n                  <option itemLabel=\"Ordering\" itemValue=\"ordering\" />\n                  <option itemLabel=\"Id\" itemValue=\"id\" />\n                </selectOptions>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/chain_monoselect_2levels_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"multiChainedDirectory\">\n      <configuration>\n        <title>Multiple chained Vocabulary</title>\n        <supportedModes>\n          <mode>view</mode>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>document</category>\n        </categories>\n        <properties>\n          <layouts mode=\"any\">\n            <layout name=\"multiChainedDirectory_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget>childDirectory</widget>\n                </row>\n                <row>\n                  <widget>localize</widget>\n                </row>\n              </rows>\n              <widget name=\"childDirectory\" type=\"selectOneResource\">\n                <labels>\n                  <label mode=\"any\">Vocabulary</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    Select the child or hierarchical directory\n                    mapped.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>childDirectory</field>\n                </fields>\n                <properties mode=\"any\">\n                  <property name=\"resourceName\">child_vocabularies</property>\n                </properties>\n                <properties widgetMode=\"edit\">\n                  <property name=\"required\">true</property>\n                </properties>\n              </widget>\n              <widget name=\"localize\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Localize</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">If true, labels will be localized.</label>\n                </helpLabels>\n                <fields>\n                  <field>localize</field>\n                </fields>\n              </widget>\n            </layout>\n          </layouts>\n          <layouts mode=\"edit\">\n            <layout name=\"multiChainedDirectory_widget_type_properties_edit\">\n              <rows>\n                <row>\n                  <widget>required</widget>\n                </row>\n                <row>\n                  <widget>allowBranchSelection</widget>\n                </row>\n                <row>\n                  <widget>on2rows</widget>\n                </row>\n                <row>\n                  <widget>directory_ordering</widget>\n                </row>\n              </rows>\n              <widget name=\"required\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Required</label>\n                </labels>\n                <fields>\n                  <field>required</field>\n                </fields>\n              </widget>\n              <widget name=\"allowBranchSelection\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">Allow incomplete selection</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If set to true, user cannot select only the\n                    first item in the selection, he will have to select a second\n                    item too. Defaults to false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>allowBranchSelection</field>\n                </fields>\n              </widget>\n              <widget name=\"on2rows\" type=\"checkbox\">\n                <labels>\n                  <label mode=\"any\">On 2 rows</label>\n                </labels>\n                <helpLabels>\n                  <label mode=\"any\">\n                    If true, display the selectors on two rows.\n                    Defaults to\n                    false.\n                  </label>\n                </helpLabels>\n                <fields>\n                  <field>on2rows</field>\n                </fields>\n              </widget>\n              <widget name=\"directory_ordering\" type=\"selectOneListbox\">\n                <categories>\n                  <category>widgetTypeConf</category>\n                </categories>\n                <labels>\n                  <label mode=\"any\">Sort criterion</label>\n                </labels>\n                <fields>\n                  <field>ordering</field>\n                </fields>\n                <selectOptions>\n                  <option itemLabel=\"Label (default)\" itemValue=\"label\" />\n                  <option itemLabel=\"Ordering\" itemValue=\"ordering\" />\n                  <option itemLabel=\"Id\" itemValue=\"id\" />\n                </selectOptions>\n              </widget>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/chain_multiselect_2levels_widget.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"shuttle\">\n      <configuration>\n        <title>Shuttle widget</title>\n        <sinceVersion>6.0</sinceVersion>\n        <supportedModes>\n          <mode>edit</mode>\n        </supportedModes>\n        <fields>\n          <list>true</list>\n          <complex>false</complex>\n          <supportedTypes>\n            <type>string</type>\n          </supportedTypes>\n        </fields>\n        <categories>\n          <category>configuration_not_ready</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/shuttle_widget_template.xhtml\n      </property>\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"document_edit_comment\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.editComment</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">label.editComment.tooltip</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>contextData['comment']</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"document_edit_current_version\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.version</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">label.versioning.currentVersion.tooltip</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>#{versioningManager.getVersionLabel(layoutValue)}</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n        <mode value=\"any\">\n          #{nxu:test(layoutValue.versionable and\n          !layoutValue.folder, 'view', 'hidden')}\n        </mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"document_edit_versioning_options\" type=\"setVariable\">\n      <labels>\n        <label mode=\"any\">label.versioning.selectVersioningOption</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">label.versioning.changeVersion.tooltip</label>\n      </helpLabels>\n      <translated>true</translated>\n      <widgetModes>\n        <mode value=\"create\">hidden</mode>\n        <mode value=\"any\">\n          #{nxu:test(layoutValue.versionable and not\n          layoutValue.folder and\n          versioningManager.getVersionIncEditOptions(layoutValue).hasOptions(),\n          mode, 'hidden')}\n        </mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"var\">incOptions</property>\n        <property name=\"value\">\n          #{versioningManager.getVersionIncEditOptions(layoutValue)}\n        </property>\n        <property name=\"cache\">true</property>\n      </properties>\n      <subWidgets>\n        <widget name=\"versioning_options\" type=\"selectOneRadio\">\n          <fields>\n            <field>contextData['VersioningOption']</field>\n          </fields>\n          <properties widgetMode=\"edit\">\n            <property name=\"defaultValue\">\n              #{incOptions.defaultVersioningAction.name()}\n            </property>\n            <property name=\"converter\">documentVersioningConverter</property>\n            <property name=\"layout\">pageDirection</property>\n            <property name=\"required\">true</property>\n            <property name=\"requiredMessage\">\n              #{messages['error.versioning.none_selected']}\n            </property>\n          </properties>\n          <selectOptions>\n            <options value=\"#{incOptions.optionsForDisplay}\" var=\"item\"\n              itemLabel=\"#{messages[item.getValue()]}\" itemValue=\"#{item.getKey()}\" />\n          </selectOptions>\n        </widget>\n      </subWidgets>\n    </widget>\n\n    <widget name=\"userPanelTop\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_TOP</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle12</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userPanelLeft\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_LEFT</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle5</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userPanelRight\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_RIGHT</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle7</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userPanelBottom\" type=\"documentActions\">\n      <properties widgetMode=\"view\">\n        <property name=\"category\">USER_PANEL_BOTTOM</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"gridStyleClass\">gridStyle12</control>\n      </controls>\n    </widget>\n\n    <widget name=\"userLayout\" type=\"layout\">\n      <properties widgetMode=\"any\">\n        <property name=\"name\">user</property>\n      </properties>\n    </widget>\n\n\n    <widget name=\"userAdditionalWidgets\" type=\"documentActions\">\n      <properties widgetMode=\"any\">\n        <property name=\"category\">USER_ADDITIONAL_WIDGETS</property>\n        <property name=\"widgetMode\">#{layout.mode}</property>\n      </properties>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n      </controls>\n    </widget>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"userLayout\" type=\"widget\" order=\"100\">\n      <category>USER_PANEL_LEFT</category>\n      <properties>\n        <property name=\"widgetName\">userLayout</property>\n      </properties>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"gridUserLayout\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_grid_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>userPanelTop</widget>\n        </row>\n        <row>\n          <widget>userPanelLeft</widget>\n          <widget>userPanelRight</widget>\n        </row>\n        <row>\n          <widget>userPanelBottom</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>firstname</widget>\n        </row>\n        <row>\n          <widget>lastname</widget>\n        </row>\n        <row>\n          <widget>company</widget>\n        </row>\n        <row>\n          <widget>email</widget>\n        </row>\n        <row>\n          <widget>groups</widget>\n        </row>\n        <row>\n          <widget>groupsValidator</widget>\n        </row>\n        <row>\n          <widget>vgroups</widget>\n        </row>\n        <row>\n          <widget>passwordMatcher</widget>\n        </row>\n        <row>\n          <widget>userAdditionalWidgets</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"text\">\n        <labels>\n          <label mode=\"any\">username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">username</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"any\">view</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"validator\">\n            #{userManagementActions.validateUserName}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"firstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">firstName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">firstName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"lastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">lastName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">lastName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"company\" type=\"text\">\n        <labels>\n          <label mode=\"any\">company</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">company</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"email\" type=\"text\">\n        <labels>\n          <label mode=\"any\">email</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">email</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"groups\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.userManager.userGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">groups</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"edit\">\n            #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),\n            'edit', 'view')}\n          </mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"any\">\n          <property name=\"hideVirtualGroups\">true</property>\n          <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        </properties>\n      </widget>\n\n      <widget name=\"groupsValidator\" type=\"template\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>true</translated>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"view\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <!-- XXX: depends on firstPassword and secondPassword widget names -->\n          <property name=\"template\">\n            /widgets/user_groups_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n\n      <widget name=\"vgroups\" type=\"userVirtualGroups\">\n        <labels>\n          <label mode=\"any\">label.userManager.userVirtualGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">username</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n      </widget>\n       <widget name=\"passwordMatcher\" type=\"template\">\n        <labels>\n          <label mode=\"create\">label.immediateCreation</label>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"user\">password</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"any\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"template\">\n            /widgets/user_password_widget_template.xhtml\n          </property>\n        </properties>\n        <properties widgetMode=\"editPassword\">********<property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"template\">\n            /widgets/user_password_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"profile_password\">********<templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>profilePasswordMatcher</widget>\n        </row>\n      </rows>\n      <widget name=\"profilePasswordMatcher\" type=\"template\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <fields>\n          <field schema=\"user\">password</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editProfilePassword\">********</mode>\n          <mode value=\"any\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"editProfilePassword\">********<property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"template\">\n            /widgets/user_profile_password_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n    </layout>\n\n    <layout name=\"user_registration\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>username</widget>\n        </row>\n        <row>\n          <widget>firstname</widget>\n        </row>\n        <row>\n          <widget>lastname</widget>\n        </row>\n        <row>\n          <widget>company</widget>\n        </row>\n        <row>\n          <widget>email</widget>\n        </row>\n        <row>\n          <widget>groups</widget>\n        </row>\n        <row>\n          <widget>groupsValidator</widget>\n        </row>\n        <row>\n          <widget>vgroups</widget>\n        </row>\n      </rows>\n      <widget name=\"username\" type=\"text\">\n        <labels>\n          <label mode=\"any\">username</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">login</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"any\">view</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n          <property name=\"validator\">\n            #{userManagementActions.validateUserName}\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"firstname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">firstName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">firstName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"lastname\" type=\"text\">\n        <labels>\n          <label mode=\"any\">lastName</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">lastName</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"company\" type=\"text\">\n        <labels>\n          <label mode=\"any\">company</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">company</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"email\" type=\"text\">\n        <labels>\n          <label mode=\"any\">email</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">email</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <property name=\"required\">true</property>\n          <property name=\"styleClass\">dataInputText</property>\n        </properties>\n      </widget>\n      <widget name=\"groups\" type=\"multipleUsersSuggestion\">\n        <labels>\n          <label mode=\"any\">label.userManager.userGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">groups</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"edit\">\n            #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),\n            'edit', 'view')}\n          </mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n        <properties widgetMode=\"any\">\n          <property name=\"hideVirtualGroups\">true</property>\n          <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        </properties>\n      </widget>\n      <widget name=\"groupsValidator\" type=\"template\">\n        <labels>\n          <label mode=\"any\"></label>\n        </labels>\n        <translated>true</translated>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n          <mode value=\"editPassword\">********</mode>\n          <mode value=\"view\">hidden</mode>\n        </widgetModes>\n        <properties widgetMode=\"edit\">\n          <!-- XXX: depends on firstPassword and secondPassword widget names -->\n          <property name=\"template\">\n            /widgets/user_groups_validation_widget_template.xhtml\n          </property>\n        </properties>\n      </widget>\n      <widget name=\"vgroups\" type=\"userVirtualGroups\">\n        <labels>\n          <label mode=\"any\">label.userManager.userVirtualGroups</label>\n        </labels>\n        <translated>true</translated>\n        <fields>\n          <field schema=\"userinfo\">login</field>\n        </fields>\n        <widgetModes>\n          <mode value=\"create\">hidden</mode>\n          <mode value=\"editPassword\">********</mode>\n        </widgetModes>\n      </widget>\n    </layout>\n\n    <layout name=\"group\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>group_name</widget>\n        </row>\n        <row>\n          <widget>group_label</widget>\n        </row>\n        <row>\n          <widget>group_members</widget>\n        </row>\n        <row>\n          <widget>group_subgroups</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user_group_suggestion\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>selection</widget>\n        </row>\n      </rows>\n      <widget name=\"selection\" type=\"multipleUsersSuggestion\">\n        <!-- add empty field to map layout value directly -->\n        <fields>\n          <field></field>\n        </fields>\n        <labels>\n          <label mode=\"any\">label.security.usersOrGroups</label>\n        </labels>\n        <properties widgetMode=\"edit\">\n          <property name=\"hideHelpLabel\">true</property>\n          <property name=\"placeholder\">label.security.search</property>\n        </properties>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n        </widgetModes>\n      </widget>\n    </layout>\n\n    <layout name=\"user_group_prefixed_suggestion\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>selection</widget>\n        </row>\n      </rows>\n      <widget name=\"selection\" type=\"multipleUsersSuggestion\">\n        <!-- add empty field to map layout value directly -->\n        <fields>\n          <field></field>\n        </fields>\n        <labels>\n          <label mode=\"any\">label.security.usersOrGroups</label>\n        </labels>\n        <properties widgetMode=\"edit\">\n          <property name=\"prefixed\">true</property>\n          <property name=\"hideHelpLabel\">true</property>\n          <property name=\"placeholder\">label.security.search</property>\n        </properties>\n        <properties widgetMode=\"view\">\n          <property name=\"prefixed\">true</property>\n        </properties>\n        <widgetModes>\n          <mode value=\"create\">edit</mode>\n        </widgetModes>\n      </widget>\n    </layout>\n\n    <layout name=\"document_content_filter\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>search_title</widget>\n        </row>\n        <row>\n          <widget>search_modified_min</widget>\n          <widget>search_modified_max</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"document_edit_form_options\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml\n        </template>\n      </templates>\n      <rows>\n        <row>\n          <widget>document_edit_comment</widget>\n        </row>\n        <row>\n          <widget>document_edit_current_version</widget>\n        </row>\n        <row>\n          <widget>document_edit_versioning_options</widget>\n        </row>\n      </rows>\n    </layout>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layouts-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.LayoutStore--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.listing/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgets",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgets",
              "registrationOrder": 6,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "name": "org.nuxeo.ecm.platform.forms.layout.LayoutStore",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\">\n\n    <widget name=\"listing_link_tab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The tab to select when clicking on the\n          document link. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>tab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_subTab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The sub tab to select when clicking on the\n          document link. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>subTab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_tabs\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Tabs</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Combination of tabs to select when clicking\n          on the\n          document link. Sample value: MAIN_TABS:document.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>tabs</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_target\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Target</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Available since 6.0. The target attribute\n          of\n          the link.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>target</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_pattern\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Link Pattern</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The document pattern to use for this link (optional). Available since 8.1.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pattern</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_view\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Link View</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The document view to use for this link (optional). Available since 8.1.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>view</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_hideExternalLink\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide External Link</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Available since 5.7.2. Flag indicating that\n          the external link, opening the document in a new\n          conversation, must be hidden.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideExternalLink</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_hideDownloadLink\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide Download Link</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Available since 6.0. Flag indicating that\n          the download link must be hidden.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideDownloadLink</field>\n      </fields>\n    </widget>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      The widget types from this contribution are intended to be used within a\n      layout displaying a table line. They can be configured to match metadata\n      from a table iteration item.\n      <br/>\n\n\n      The template \"/layouts/layout_listing_template.xhtml\" handles specific\n      configuration for lists of documents rendering. It applies to an item\n      instance of SelectDataModel named \"documents\" in the EL context.\n      <br/>\n\n\n      It also requires the following variables to be present in the EL context:\n      <ul>\n    <li>\n          provider: result provider used to get the list of items, its name\n          will\n          be used, as well as sort and pagination features it provides.\n        </li>\n    <li>\n          layoutListingStatus: iteration status as provided by the \"c:forEach\"\n          tag, used to print table header matching widget label.\n        </li>\n</ul>\n\n\n      It accepts the the following properties configuration:\n      <ul>\n    <li>\n          showListingHeader: true or false, used to define whether the table\n          header should be displayed. This property can also be passed in the EL\n          context, using the table iteration status. Defaults to false.\n        </li>\n    <li>\n          showRowEvenOddClass: true or false, used to define if a style class\n          should be set on table rows depending on the layoutListingStatus index\n          variable (row or odd). Defaults to false.\n        </li>\n</ul>\n\n      Its layout columns accept the following properties configuration:\n      <ul>\n    <li>\n          useFirstWidgetLabelAsColumnHeader: true or false, used to define if\n          first widget label should be used as column header label. Will use\n          translation settings from the widget configuration. Defaults to false.\n        </li>\n    <li>\n          sortPropertyName: name of the property that will be used by the\n          result provider when clicking on the table header. If not set, the\n          sort link will not be displayed. Defaults to null.\n        </li>\n    <li>\n          defaultSortAscending: define the initial sort order of the column\n          (true : ascending, false : descending) Defaults to null (will be\n          interpreted as ascending=true).\n        </li>\n    <li>\n          columnStyleClass: name of the style class that will be used for the\n          given column. Defaults to null.\n        </li>\n</ul>\n",
              "documentationHtml": "<p>\nThe widget types from this contribution are intended to be used within a\nlayout displaying a table line. They can be configured to match metadata\nfrom a table iteration item.\n</p><p>\nThe template &#34;/layouts/layout_listing_template.xhtml&#34; handles specific\nconfiguration for lists of documents rendering. It applies to an item\ninstance of SelectDataModel named &#34;documents&#34; in the EL context.\n</p><p>\nIt also requires the following variables to be present in the EL context:\n</p><ul><li>\nprovider: result provider used to get the list of items, its name\nwill\nbe used, as well as sort and pagination features it provides.\n</li><li>\nlayoutListingStatus: iteration status as provided by the &#34;c:forEach&#34;\ntag, used to print table header matching widget label.\n</li></ul>\n<p>\nIt accepts the the following properties configuration:\n</p><ul><li>\nshowListingHeader: true or false, used to define whether the table\nheader should be displayed. This property can also be passed in the EL\ncontext, using the table iteration status. Defaults to false.\n</li><li>\nshowRowEvenOddClass: true or false, used to define if a style class\nshould be set on table rows depending on the layoutListingStatus index\nvariable (row or odd). Defaults to false.\n</li></ul>\n<p>\nIts layout columns accept the following properties configuration:\n</p><ul><li>\nuseFirstWidgetLabelAsColumnHeader: true or false, used to define if\nfirst widget label should be used as column header label. Will use\ntranslation settings from the widget configuration. Defaults to false.\n</li><li>\nsortPropertyName: name of the property that will be used by the\nresult provider when clicking on the table header. If not set, the\nsort link will not be displayed. Defaults to null.\n</li><li>\ndefaultSortAscending: define the initial sort order of the column\n(true : ascending, false : descending) Defaults to null (will be\ninterpreted as ascending&#61;true).\n</li><li>\ncolumnStyleClass: name of the style class that will be used for the\ngiven column. Defaults to null.\n</li></ul>",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.listing/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgettypes",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgettypes",
              "registrationOrder": 10,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <documentation>\n      The widget types from this contribution are intended to be used within a\n      layout displaying a table line. They can be configured to match metadata\n      from a table iteration item.\n      <br/>\n\n      The template \"/layouts/layout_listing_template.xhtml\" handles specific\n      configuration for lists of documents rendering. It applies to an item\n      instance of SelectDataModel named \"documents\" in the EL context.\n      <br/>\n\n      It also requires the following variables to be present in the EL context:\n      <ul>\n        <li>\n          provider: result provider used to get the list of items, its name\n          will\n          be used, as well as sort and pagination features it provides.\n        </li>\n        <li>\n          layoutListingStatus: iteration status as provided by the \"c:forEach\"\n          tag, used to print table header matching widget label.\n        </li>\n      </ul>\n\n      It accepts the the following properties configuration:\n      <ul>\n        <li>\n          showListingHeader: true or false, used to define whether the table\n          header should be displayed. This property can also be passed in the EL\n          context, using the table iteration status. Defaults to false.\n        </li>\n        <li>\n          showRowEvenOddClass: true or false, used to define if a style class\n          should be set on table rows depending on the layoutListingStatus index\n          variable (row or odd). Defaults to false.\n        </li>\n      </ul>\n      Its layout columns accept the following properties configuration:\n      <ul>\n        <li>\n          useFirstWidgetLabelAsColumnHeader: true or false, used to define if\n          first widget label should be used as column header label. Will use\n          translation settings from the widget configuration. Defaults to false.\n        </li>\n        <li>\n          sortPropertyName: name of the property that will be used by the\n          result provider when clicking on the table header. If not set, the\n          sort link will not be displayed. Defaults to null.\n        </li>\n        <li>\n          defaultSortAscending: define the initial sort order of the column\n          (true : ascending, false : descending) Defaults to null (will be\n          interpreted as ascending=true).\n        </li>\n        <li>\n          columnStyleClass: name of the style class that will be used for the\n          given column. Defaults to null.\n        </li>\n      </ul>\n    </documentation>\n\n    <widgetType name=\"listing_ajax_selection_box_with_current_document\">\n      <aliases>\n        <alias>listing_selection_box_with_current_document</alias>\n      </aliases>\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Ajax selection checkbox with current document</title>\n        <description>\n          <p>\n            This widget type displays a selection checkbox, that will perform\n            ajax selection of given item. The current document information is\n            also provided to restore current context when clicking on the link.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps a boolean representing the selection state\n              </li>\n              <li>\n                second field maps the string identifier used to perform\n                selection\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following variables to be present in the EL\n            context:\n            <ul>\n              <li>\n                provider: result provider used to get the list of items, its\n                name will be used.\n              </li>\n              <li>\n                listName: the name of the list that will hold selected items\n              </li>\n              <li>currentDocument: the current document</li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>selected</field>\n            <field>data.ref</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>hidden_listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_ajax_selection_box_with_current_document_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_ajax_selection_box\">\n      <aliases>\n        <alias>listing_selection_box</alias>\n      </aliases>\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Ajax selection checkbox</title>\n        <description>\n          <p>\n            This widget type displays a selection checkbox, that will perform\n            ajax selection of given item.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps a boolean representing the selection state\n              </li>\n              <li>\n                second field maps the string identifier used to perform\n                selection\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following variables to be present in the EL\n            context:\n            <ul>\n              <li>\n                provider: result provider used to get the list of items, its\n                name will be used.\n              </li>\n              <li>\n                listName: the name of the list that will hold selected items\n              </li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>selected</field>\n            <field>data.ref</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>hidden_listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_ajax_selection_box_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_icon_type\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Icon and document type</title>\n        <description>\n          <p>\n            This widget type displays a draggable icon corresponding to a\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, the jsf method\n                nxd:iconPath will be used to provide its icon\n              </li>\n              <li>\n                second field maps the unique id to be used as drag/drop\n                identified (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the icon title (can be the document model\n                type)\n              </li>\n              <li>\n                fourth field maps a boolean stating whether the widget\n                displays a droppable zone (e.g. if document is folderish)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_icon_typeWidget\"/>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.type</field>\n            <field>data.folder</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_icon_type_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_big_icon_type\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Big icon and document type</title>\n        <description>\n          <p>\n            This widget type displays a big draggable icon corresponding to a\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, the jsf method\n                nxd:bigIconPath will be used to provide its icon\n              </li>\n              <li>\n                second field maps the unique id to be used as drag/drop\n                identified (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed icon title (can be the document\n                model type)\n              </li>\n              <li>\n                fourth field maps a boolean stating whether the widget\n                displays\n                a droppable zone (e.g. if document is folderish)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_big_icon_typeWidget\"/>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.type</field>\n            <field>data.folder</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_big_icon_type_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_big_icon_type_link\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Big icon and document type with link</title>\n        <description>\n          <p>\n            This widget type displays a big draggable icon corresponding to a\n            document with a link to the document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, the jsf method\n                nxd:bigIconPath will be used to provide its icon and to display\n                the document link\n              </li>\n              <li>\n                second field maps the unique id to be used as drag/drop\n                identified (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed icon title (can be the document\n                model type)\n              </li>\n              <li>\n                fourth field maps a boolean stating whether the widget\n                displays\n                a droppable zone (e.g. if document is folderish)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_big_icon_type_linkWidget\"/>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.type</field>\n            <field>data.folder</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_big_icon_type_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_title_link\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Title with link</title>\n        <description>\n          <p>\n            This widget type displays a link to navigate to a document, as well\n            as a download link for the document binary content.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the document link and its title\n              </li>\n              <li>\n                second field maps the unique id to be used for contextual menu\n                (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed link title (can be the document\n                model description)\n              </li>\n              <li>\n                fourth field maps the document model file to be used for\n                download link\n              </li>\n              <li>\n                fifth field maps the file name to be used for download link\n                (can be the document model file name property value)\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following properties configuration:\n            <ul>\n              <li>\n                file_schema: the file schema name, used to check whether\n                download link should be displayed (e.g: file)\n              </li>\n              <li>\n                file_property_name: the file property name (e.g file:content)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_title_linkWidget\"/>\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:title</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.dc.description</field>\n            <field>data.file.content</field>\n            <field>data.file.content.filename</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"hideExternalLink\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"listing_title_link_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_subTab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tabs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_target</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_view</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_hideExternalLink</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_hideDownloadLink</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_title_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_id_title_link\">\n      <configuration>\n        <sinceVersion>7.4</sinceVersion>\n        <title>Document id title with link</title>\n        <description>\n          <p>\n            This widget type displays a link to navigate to a document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document id, it will be used to\n                display the document link\n              </li>\n              <li>\n                second field maps the repository name, it will be used to\n                display the document link\n              </li>\n              <li>\n                third field maps the displayed link title\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_id_title_linkWidget\"/>\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:title</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.id</field>\n            <field>data.repositoryName</field>\n            <field>data.dc.title</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"view\">view_documents</property>\n            <property name=\"pattern\">id</property>\n            <property name=\"hideExternalLink\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"listing_id_title_link_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_subTab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tabs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_target</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_view</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_hideExternalLink</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_id_title_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_lock_icon\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Lock icon</title>\n        <description>\n          <p>This widget type displays a lock icon.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps a property stating that lock icon should be\n                displayed if not empty (e.g. the document model lock state)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_lock_iconWidget\"/>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.lock</field>\n            <field>data.lockInfo</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_lock_icon_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_author\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Author</title>\n        <description>\n          <p>This widget type displays a user name.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>first field mapping the user identifier</li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_authorWidget\"/>\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:creator</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.dc.creator</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_user_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_last_contributor\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Last contributor</title>\n        <description>\n          <p>This widget type displays the last contributor name</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>first field mapping the lastContributor field</li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_last_contributorWidget\"/>\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:lastContributor</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.dc.lastContributor</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_user_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <!-- Deprecated since NXP-6825 is fixed but still useful for Studio configuration -->\n    <widgetType name=\"listing_lifecycle\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Lifecycle state</title>\n        <description>\n          <p>This widget type displays a life cycle state name.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>first field mapping the life cycle state name</li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_lifecycleWidget\"/>\n        <confProperties>\n          <property name=\"sortPropertyName\">ecm:currentLifeCycleState</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.currentLifeCycleState</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_lifecycle_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_livedit_link\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Live edit link</title>\n        <description>\n          <p>This widget type displays a live edit link.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field mapping the document model to be used for live\n                edit link\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following properties configuration:\n            <ul>\n              <li>file_schema: the file schema name</li>\n              <li>file_field_name: the file field name</li>\n              <li>filename_field_name: the file name field name</li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_livedit_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_version\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Version</title>\n        <description>\n          <p>This widget type displays a document model version label</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field mapping the document model, its version label will\n                be retrieved querying the versioning service\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_versionWidget\"/>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_version_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_thumbnail\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Thumbnail</title>\n        <description>\n          <p>This widget type displays the document thumbnail.</p>\n          <p>\n            It requires the following fields configuration: first field maps\n            the document model.\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_thumbnail_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_main_file_size\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Main File Size</title>\n        <description>\n          <p>\n            This widget type displays the size of the main blob of the\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the size.\n              </li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_main_file_size_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_main_file_format\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Main File Format</title>\n        <description>\n          <p>\n            This widget type displays the format of the main file of the\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the format.\n              </li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_main_file_format_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_manage_document\">\n      <configuration>\n        <sinceVersion>5.9.3</sinceVersion>\n        <title>Manage Document</title>\n        <description>\n          <p>This widget type displays a clickable icon when the document can be\n            managed by the current user. Clicking the icon goes directly to the\n            manage\n            tab.\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_manage_document.xhtml\n      </property>\n\n    </widgetType>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.listing/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgets1",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.listing--widgets1",
              "registrationOrder": 10,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"listing_ajax_selection_box_with_current_document\" type=\"listing_ajax_selection_box_with_current_document\">\n      <aliases>\n        <alias>listing_selection_box_with_current_document</alias>\n      </aliases>\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>selected</field>\n        <field>data.ref</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_ajax_selection_box\" type=\"listing_ajax_selection_box\">\n      <aliases>\n        <alias>listing_selection_box</alias>\n      </aliases>\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>selected</field>\n        <field>data.ref</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_icon_type\" type=\"listing_icon_type\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.type</field>\n        <field>data.folder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_big_icon_type\" type=\"listing_big_icon_type\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.type</field>\n        <field>data.folder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_big_icon_type_link\" type=\"listing_big_icon_type_link\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.type</field>\n        <field>data.folder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_title_link\" type=\"listing_title_link\">\n      <labels>\n        <label mode=\"any\">label.content.header.title</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.dc.description</field>\n        <field>data.file.content</field>\n        <field>data.file.content.filename</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"tabs\">MAIN_TABS:documents</property>\n        <property name=\"file_property_name\">file:content</property>\n        <property name=\"file_schema\">file</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_lock_icon\" type=\"listing_lock_icon\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>data.lock</field>\n        <field>data.lockInfo</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_modification_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.content.header.modified</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.modified</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_issued_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.content.header.issued</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.issued</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_author\" type=\"listing_author\">\n      <labels>\n        <label mode=\"any\">label.content.header.author</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dublincore.creator</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_lifecycle\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.content.header.currentLifecycleState</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.currentLifeCycleState</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_livedit_link\" type=\"listing_livedit_link\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>data</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"file_schema\">file</property>\n        <property name=\"file_field_name\">content</property>\n        <property name=\"filename_field_name\">filename</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_version\" type=\"listing_version\">\n      <labels>\n        <label mode=\"any\">label.version</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_description\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.dublincore.description</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.description</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_nature\" type=\"selectOneDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.nature</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.nature</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"directoryName\">nature</property>\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_subjects\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.dublincore.subject</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.subjects</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/subjects_widget.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_rights\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.rights</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.rights</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_source\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.source</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.source</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_coverage\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.dublincore.coverage</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.coverage</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/coverage_widget.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_creation_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.created</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.created</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_format\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.format</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.format</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_language\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.language</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.language</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_expiration_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.expired</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.expired</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_contributors\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.dublincore.contributors</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.contributors</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/contributors_widget.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_last_contributor\" type=\"listing_last_contributor\">\n      <labels>\n        <label mode=\"any\">label.dublincore.lastContributor</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.lastContributor</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_thumbnail\" type=\"listing_thumbnail\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <fields>\n        <field>data</field>\n      </fields>\n    </widget>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.listing/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.listing--layouts",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.listing--layouts",
              "registrationOrder": 11,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"document_listing_table\" type=\"listingTable\">\n      <aliases>\n        <alias>search_listing_ajax</alias>\n        <alias>document_listing_ajax</alias>\n        <alias>document_listing</alias>\n      </aliases>\n      <columns>\n        <column alwaysSelected=\"true\" name=\"selection\">\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBoxWithCurrentDocument\">\n              true\n            </property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">label.selection.column.checkbox</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column name=\"icon_type\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">label.selection.column.icon_type</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column name=\"title_link\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n            <property name=\"label\">label.selection.column.title_link</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column name=\"lock\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">label.selection.column.lock</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column name=\"modification_date\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n            <property name=\"label\">label.dublincore.modificationDate</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column name=\"lastContributor\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n            <property name=\"label\">label.dublincore.lastContributor</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column name=\"version\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"isSortable\">false</property>\n            <property name=\"label\">label.version</property>\n          </properties>\n          <widget>listing_version</widget>\n        </column>\n        <column name=\"lifecycle\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n            <property name=\"label\">label.lifecycle</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n        <column name=\"livedit_link\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">\n              label.selection.column.livedit_link\n            </property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_livedit_link</widget>\n        </column>\n        <column name=\"description\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:description</property>\n            <property name=\"label\">description</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_description</widget>\n        </column>\n        <column name=\"nature\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:nature</property>\n            <property name=\"label\">label.dublincore.nature</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_nature</widget>\n        </column>\n        <column name=\"subjects\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"label\">label.dublincore.subject</property>\n          </properties>\n          <widget>listing_subjects</widget>\n        </column>\n        <column name=\"rights\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:rights</property>\n            <property name=\"label\">label.dublincore.rights</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_rights</widget>\n        </column>\n        <column name=\"source\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:source</property>\n            <property name=\"label\">label.dublincore.source</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_source</widget>\n        </column>\n        <column name=\"coverage\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:coverage</property>\n            <property name=\"label\">label.dublincore.coverage</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_coverage</widget>\n        </column>\n        <column name=\"creation_date\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:created</property>\n            <property name=\"label\">label.dublincore.created</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_creation_date</widget>\n        </column>\n        <column name=\"format\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:format</property>\n            <property name=\"label\">label.dublincore.format</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_format</widget>\n        </column>\n        <column name=\"language\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:language</property>\n            <property name=\"label\">label.dublincore.language</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_language</widget>\n        </column>\n        <column name=\"expired_date\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:expired</property>\n            <property name=\"label\">label.dublincore.expired</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_expiration_date</widget>\n        </column>\n        <column name=\"contributors\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"label\">label.dublincore.contributors</property>\n          </properties>\n          <widget>listing_contributors</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_thumbnail\" type=\"listingThumbnail\">\n      <columns>\n        <column name=\"last_contributor\">\n          <properties mode=\"any\">\n            <property name=\"label\">label.dublincore.lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column name=\"size_and_format\">\n          <properties mode=\"any\">\n            <property name=\"label\">\n              label.selection.column.size_and_format\n            </property>\n          </properties>\n          <widget>listing_size_and_format</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_virtual_navigation_listing_ajax\">\n      <aliases>\n        <alias>document_virtual_navigation_listing</alias>\n      </aliases>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBox\">true</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_version</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_livedit_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_ajax_compact_2_columns\">\n      <aliases>\n        <alias>document_listing_compact_2_columns</alias>\n      </aliases>\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n          <widget>listing_modification_date</widget>\n          <widget>listing_author</widget>\n          <widget>listing_lifecycle</widget>\n          <widget>listing_version</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_virtual_navigation_listing_ajax_compact_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n          <widget>listing_modification_date</widget>\n          <widget>listing_author</widget>\n          <widget>listing_lifecycle</widget>\n          <widget>listing_version</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_icon_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_selection_box_with_current_document</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_big_icon_type_link</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_ajax_icon_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_thumbnail</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_virtual_navigation_listing_ajax_icon_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_thumbnail</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"listing_thumbnail_header\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_div_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\" name=\"selection\">\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column>\n          <widget>listing_thumbnail</widget>\n        </column>\n        <column>\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.listing",
          "name": "org.nuxeo.ecm.platform.forms.layouts.webapp.listing",
          "requirements": [],
          "resolutionOrder": 636,
          "services": [],
          "startOrder": 334,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.forms.layouts.webapp.listing\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.LayoutStore\"\n    point=\"widgets\">\n\n    <widget name=\"listing_link_tab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The tab to select when clicking on the\n          document link. Available since 5.4.2.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>tab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_subTab\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Sub Tab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The sub tab to select when clicking on the\n          document link. Available since 5.5.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>subTab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_tabs\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Tabs</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Combination of tabs to select when clicking\n          on the\n          document link. Sample value: MAIN_TABS:document.\n          Available since 7.3.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>tabs</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_target\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Target</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Available since 6.0. The target attribute\n          of\n          the link.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>target</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_pattern\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Link Pattern</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The document pattern to use for this link (optional). Available since 8.1.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>pattern</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_view\" type=\"text\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Link View</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          The document view to use for this link (optional). Available since 8.1.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>view</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_hideExternalLink\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide External Link</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Available since 5.7.2. Flag indicating that\n          the external link, opening the document in a new\n          conversation, must be hidden.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideExternalLink</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_link_hideDownloadLink\" type=\"checkbox\">\n      <categories>\n        <category>widgetTypeConf</category>\n      </categories>\n      <labels>\n        <label mode=\"any\">Hide Download Link</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"any\">\n          Available since 6.0. Flag indicating that\n          the download link must be hidden.\n        </label>\n      </helpLabels>\n      <fields>\n        <field>hideDownloadLink</field>\n      </fields>\n    </widget>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n\n    <documentation>\n      The widget types from this contribution are intended to be used within a\n      layout displaying a table line. They can be configured to match metadata\n      from a table iteration item.\n      <br />\n\n      The template \"/layouts/layout_listing_template.xhtml\" handles specific\n      configuration for lists of documents rendering. It applies to an item\n      instance of SelectDataModel named \"documents\" in the EL context.\n      <br />\n\n      It also requires the following variables to be present in the EL context:\n      <ul>\n        <li>\n          provider: result provider used to get the list of items, its name\n          will\n          be used, as well as sort and pagination features it provides.\n        </li>\n        <li>\n          layoutListingStatus: iteration status as provided by the \"c:forEach\"\n          tag, used to print table header matching widget label.\n        </li>\n      </ul>\n\n      It accepts the the following properties configuration:\n      <ul>\n        <li>\n          showListingHeader: true or false, used to define whether the table\n          header should be displayed. This property can also be passed in the EL\n          context, using the table iteration status. Defaults to false.\n        </li>\n        <li>\n          showRowEvenOddClass: true or false, used to define if a style class\n          should be set on table rows depending on the layoutListingStatus index\n          variable (row or odd). Defaults to false.\n        </li>\n      </ul>\n      Its layout columns accept the following properties configuration:\n      <ul>\n        <li>\n          useFirstWidgetLabelAsColumnHeader: true or false, used to define if\n          first widget label should be used as column header label. Will use\n          translation settings from the widget configuration. Defaults to false.\n        </li>\n        <li>\n          sortPropertyName: name of the property that will be used by the\n          result provider when clicking on the table header. If not set, the\n          sort link will not be displayed. Defaults to null.\n        </li>\n        <li>\n          defaultSortAscending: define the initial sort order of the column\n          (true : ascending, false : descending) Defaults to null (will be\n          interpreted as ascending=true).\n        </li>\n        <li>\n          columnStyleClass: name of the style class that will be used for the\n          given column. Defaults to null.\n        </li>\n      </ul>\n    </documentation>\n\n    <widgetType name=\"listing_ajax_selection_box_with_current_document\">\n      <aliases>\n        <alias>listing_selection_box_with_current_document</alias>\n      </aliases>\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Ajax selection checkbox with current document</title>\n        <description>\n          <p>\n            This widget type displays a selection checkbox, that will perform\n            ajax selection of given item. The current document information is\n            also provided to restore current context when clicking on the link.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps a boolean representing the selection state\n              </li>\n              <li>\n                second field maps the string identifier used to perform\n                selection\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following variables to be present in the EL\n            context:\n            <ul>\n              <li>\n                provider: result provider used to get the list of items, its\n                name will be used.\n              </li>\n              <li>\n                listName: the name of the list that will hold selected items\n              </li>\n              <li>currentDocument: the current document</li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>selected</field>\n            <field>data.ref</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>hidden_listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_ajax_selection_box_with_current_document_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_ajax_selection_box\">\n      <aliases>\n        <alias>listing_selection_box</alias>\n      </aliases>\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Ajax selection checkbox</title>\n        <description>\n          <p>\n            This widget type displays a selection checkbox, that will perform\n            ajax selection of given item.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps a boolean representing the selection state\n              </li>\n              <li>\n                second field maps the string identifier used to perform\n                selection\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following variables to be present in the EL\n            context:\n            <ul>\n              <li>\n                provider: result provider used to get the list of items, its\n                name will be used.\n              </li>\n              <li>\n                listName: the name of the list that will hold selected items\n              </li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>selected</field>\n            <field>data.ref</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>hidden_listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_ajax_selection_box_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_icon_type\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Icon and document type</title>\n        <description>\n          <p>\n            This widget type displays a draggable icon corresponding to a\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, the jsf method\n                nxd:iconPath will be used to provide its icon\n              </li>\n              <li>\n                second field maps the unique id to be used as drag/drop\n                identified (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the icon title (can be the document model\n                type)\n              </li>\n              <li>\n                fourth field maps a boolean stating whether the widget\n                displays a droppable zone (e.g. if document is folderish)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_icon_typeWidget\" />\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.type</field>\n            <field>data.folder</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_icon_type_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_big_icon_type\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Big icon and document type</title>\n        <description>\n          <p>\n            This widget type displays a big draggable icon corresponding to a\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, the jsf method\n                nxd:bigIconPath will be used to provide its icon\n              </li>\n              <li>\n                second field maps the unique id to be used as drag/drop\n                identified (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed icon title (can be the document\n                model type)\n              </li>\n              <li>\n                fourth field maps a boolean stating whether the widget\n                displays\n                a droppable zone (e.g. if document is folderish)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_big_icon_typeWidget\" />\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.type</field>\n            <field>data.folder</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_big_icon_type_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_big_icon_type_link\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Big icon and document type with link</title>\n        <description>\n          <p>\n            This widget type displays a big draggable icon corresponding to a\n            document with a link to the document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, the jsf method\n                nxd:bigIconPath will be used to provide its icon and to display\n                the document link\n              </li>\n              <li>\n                second field maps the unique id to be used as drag/drop\n                identified (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed icon title (can be the document\n                model type)\n              </li>\n              <li>\n                fourth field maps a boolean stating whether the widget\n                displays\n                a droppable zone (e.g. if document is folderish)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_big_icon_type_linkWidget\" />\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.type</field>\n            <field>data.folder</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_big_icon_type_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_title_link\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Title with link</title>\n        <description>\n          <p>\n            This widget type displays a link to navigate to a document, as well\n            as a download link for the document binary content.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the document link and its title\n              </li>\n              <li>\n                second field maps the unique id to be used for contextual menu\n                (e.g. the document model id)\n              </li>\n              <li>\n                third field maps the displayed link title (can be the document\n                model description)\n              </li>\n              <li>\n                fourth field maps the document model file to be used for\n                download link\n              </li>\n              <li>\n                fifth field maps the file name to be used for download link\n                (can be the document model file name property value)\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following properties configuration:\n            <ul>\n              <li>\n                file_schema: the file schema name, used to check whether\n                download link should be displayed (e.g: file)\n              </li>\n              <li>\n                file_property_name: the file property name (e.g file:content)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_title_linkWidget\" />\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:title</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n            <field>data.ref</field>\n            <field>data.dc.description</field>\n            <field>data.file.content</field>\n            <field>data.file.content.filename</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"hideExternalLink\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"listing_title_link_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_subTab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tabs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_target</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_view</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_hideExternalLink</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_hideDownloadLink</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_title_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_id_title_link\">\n      <configuration>\n        <sinceVersion>7.4</sinceVersion>\n        <title>Document id title with link</title>\n        <description>\n          <p>\n            This widget type displays a link to navigate to a document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document id, it will be used to\n                display the document link\n              </li>\n              <li>\n                second field maps the repository name, it will be used to\n                display the document link\n              </li>\n              <li>\n                third field maps the displayed link title\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_id_title_linkWidget\" />\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:title</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.id</field>\n            <field>data.repositoryName</field>\n            <field>data.dc.title</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"view\">view_documents</property>\n            <property name=\"pattern\">id</property>\n            <property name=\"hideExternalLink\">true</property>\n          </defaultValues>\n          <layouts mode=\"any\">\n            <layout name=\"listing_id_title_link_widget_type_properties_any\">\n              <rows>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_subTab</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_tabs</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_target</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_pattern</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_view</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">localize</widget>\n                </row>\n                <row>\n                  <widget category=\"widgetTypeConf\">listing_link_hideExternalLink</widget>\n                </row>\n              </rows>\n            </layout>\n          </layouts>\n        </properties>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_id_title_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_lock_icon\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Lock icon</title>\n        <description>\n          <p>This widget type displays a lock icon.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps a property stating that lock icon should be\n                displayed if not empty (e.g. the document model lock state)\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_lock_iconWidget\" />\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.lock</field>\n            <field>data.lockInfo</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_lock_icon_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_author\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Author</title>\n        <description>\n          <p>This widget type displays a user name.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>first field mapping the user identifier</li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_authorWidget\" />\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:creator</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.dc.creator</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_user_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_last_contributor\">\n      <configuration>\n        <sinceVersion>5.4.2</sinceVersion>\n        <title>Last contributor</title>\n        <description>\n          <p>This widget type displays the last contributor name</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>first field mapping the lastContributor field</li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_last_contributorWidget\" />\n        <confProperties>\n          <property name=\"sortPropertyName\">dc:lastContributor</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.dc.lastContributor</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/single_user_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <!-- Deprecated since NXP-6825 is fixed but still useful for Studio configuration -->\n    <widgetType name=\"listing_lifecycle\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Lifecycle state</title>\n        <description>\n          <p>This widget type displays a life cycle state name.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>first field mapping the life cycle state name</li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_lifecycleWidget\" />\n        <confProperties>\n          <property name=\"sortPropertyName\">ecm:currentLifeCycleState</property>\n        </confProperties>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data.currentLifeCycleState</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_lifecycle_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_livedit_link\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Live edit link</title>\n        <description>\n          <p>This widget type displays a live edit link.</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field mapping the document model to be used for live\n                edit link\n              </li>\n            </ul>\n          </p>\n          <p>\n            It also requires the following properties configuration:\n            <ul>\n              <li>file_schema: the file schema name</li>\n              <li>file_field_name: the file field name</li>\n              <li>filename_field_name: the file name field name</li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_livedit_link_widget_template.xhtml\n      </property>\n\n    </widgetType>\n\n    <widgetType name=\"listing_version\">\n      <configuration>\n        <sinceVersion>5.4.0</sinceVersion>\n        <title>Version</title>\n        <description>\n          <p>This widget type displays a document model version label</p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field mapping the document model, its version label will\n                be retrieved querying the versioning service\n              </li>\n            </ul>\n          </p>\n        </description>\n        <demo id=\"listing_versionWidget\" />\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_version_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_thumbnail\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Thumbnail</title>\n        <description>\n          <p>This widget type displays the document thumbnail.</p>\n          <p>\n            It requires the following fields configuration: first field maps\n            the document model.\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_thumbnail_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_main_file_size\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Main File Size</title>\n        <description>\n          <p>\n            This widget type displays the size of the main blob of the\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the size.\n              </li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_main_file_size_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_main_file_format\">\n      <configuration>\n        <sinceVersion>5.7.2</sinceVersion>\n        <title>Main File Format</title>\n        <description>\n          <p>\n            This widget type displays the format of the main file of the\n            document.\n          </p>\n          <p>\n            It requires the following fields configuration:\n            <ul>\n              <li>\n                first field maps the document model, it will be used to\n                display the format.\n              </li>\n            </ul>\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_main_file_format_widget_template.xhtml\n      </property>\n    </widgetType>\n\n    <widgetType name=\"listing_manage_document\">\n      <configuration>\n        <sinceVersion>5.9.3</sinceVersion>\n        <title>Manage Document</title>\n        <description>\n          <p>This widget type displays a clickable icon when the document can be\n            managed by the current user. Clicking the icon goes directly to the\n            manage\n            tab.\n          </p>\n        </description>\n        <fields>\n          <list>false</list>\n          <complex>false</complex>\n          <defaultConfiguration>\n            <field>data</field>\n          </defaultConfiguration>\n        </fields>\n        <categories>\n          <category>listing</category>\n        </categories>\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/listing/listing_manage_document.xhtml\n      </property>\n\n    </widgetType>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"listing_ajax_selection_box_with_current_document\" type=\"listing_ajax_selection_box_with_current_document\">\n      <aliases>\n        <alias>listing_selection_box_with_current_document</alias>\n      </aliases>\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>selected</field>\n        <field>data.ref</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_ajax_selection_box\" type=\"listing_ajax_selection_box\">\n      <aliases>\n        <alias>listing_selection_box</alias>\n      </aliases>\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>selected</field>\n        <field>data.ref</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_icon_type\" type=\"listing_icon_type\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.type</field>\n        <field>data.folder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_big_icon_type\" type=\"listing_big_icon_type\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.type</field>\n        <field>data.folder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_big_icon_type_link\" type=\"listing_big_icon_type_link\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.type</field>\n        <field>data.folder</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_title_link\" type=\"listing_title_link\">\n      <labels>\n        <label mode=\"any\">label.content.header.title</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n        <field>data.ref</field>\n        <field>data.dc.description</field>\n        <field>data.file.content</field>\n        <field>data.file.content.filename</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"tabs\">MAIN_TABS:documents</property>\n        <property name=\"file_property_name\">file:content</property>\n        <property name=\"file_schema\">file</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_lock_icon\" type=\"listing_lock_icon\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>data.lock</field>\n        <field>data.lockInfo</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_modification_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.content.header.modified</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.modified</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_issued_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.content.header.issued</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.issued</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_author\" type=\"listing_author\">\n      <labels>\n        <label mode=\"any\">label.content.header.author</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dublincore.creator</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_lifecycle\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.content.header.currentLifecycleState</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.currentLifeCycleState</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_livedit_link\" type=\"listing_livedit_link\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>data</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"file_schema\">file</property>\n        <property name=\"file_field_name\">content</property>\n        <property name=\"filename_field_name\">filename</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_version\" type=\"listing_version\">\n      <labels>\n        <label mode=\"any\">label.version</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_description\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.dublincore.description</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.description</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_nature\" type=\"selectOneDirectory\">\n      <labels>\n        <label mode=\"any\">label.dublincore.nature</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.nature</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"directoryName\">nature</property>\n        <property name=\"localize\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_subjects\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.dublincore.subject</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.subjects</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/subjects_widget.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_rights\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.rights</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.rights</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_source\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.source</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.source</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_coverage\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.dublincore.coverage</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.coverage</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/coverage_widget.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_creation_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.created</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.created</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_format\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.format</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.format</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_language\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.dublincore.language</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.language</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_expiration_date\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.dublincore.expired</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.expired</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_contributors\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.dublincore.contributors</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.contributors</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/contributors_widget.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_last_contributor\" type=\"listing_last_contributor\">\n      <labels>\n        <label mode=\"any\">label.dublincore.lastContributor</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.dc.lastContributor</field>\n      </fields>\n    </widget>\n\n    <widget name=\"listing_thumbnail\" type=\"listing_thumbnail\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <fields>\n        <field>data</field>\n      </fields>\n    </widget>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"document_listing_table\" type=\"listingTable\">\n      <aliases>\n        <alias>search_listing_ajax</alias>\n        <alias>document_listing_ajax</alias>\n        <alias>document_listing</alias>\n      </aliases>\n      <columns>\n        <column alwaysSelected=\"true\" name=\"selection\">\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBoxWithCurrentDocument\">\n              true\n            </property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">label.selection.column.checkbox</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column name=\"icon_type\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">label.selection.column.icon_type</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column name=\"title_link\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n            <property name=\"label\">label.selection.column.title_link</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column name=\"lock\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">label.selection.column.lock</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column name=\"modification_date\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n            <property name=\"label\">label.dublincore.modificationDate</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column name=\"lastContributor\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n            <property name=\"label\">label.dublincore.lastContributor</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column name=\"version\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"isSortable\">false</property>\n            <property name=\"label\">label.version</property>\n          </properties>\n          <widget>listing_version</widget>\n        </column>\n        <column name=\"lifecycle\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n            <property name=\"label\">label.lifecycle</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n        <column name=\"livedit_link\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"label\">\n              label.selection.column.livedit_link\n            </property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_livedit_link</widget>\n        </column>\n        <column name=\"description\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:description</property>\n            <property name=\"label\">description</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_description</widget>\n        </column>\n        <column name=\"nature\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:nature</property>\n            <property name=\"label\">label.dublincore.nature</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_nature</widget>\n        </column>\n        <column name=\"subjects\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"label\">label.dublincore.subject</property>\n          </properties>\n          <widget>listing_subjects</widget>\n        </column>\n        <column name=\"rights\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:rights</property>\n            <property name=\"label\">label.dublincore.rights</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_rights</widget>\n        </column>\n        <column name=\"source\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:source</property>\n            <property name=\"label\">label.dublincore.source</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_source</widget>\n        </column>\n        <column name=\"coverage\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:coverage</property>\n            <property name=\"label\">label.dublincore.coverage</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_coverage</widget>\n        </column>\n        <column name=\"creation_date\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:created</property>\n            <property name=\"label\">label.dublincore.created</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_creation_date</widget>\n        </column>\n        <column name=\"format\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:format</property>\n            <property name=\"label\">label.dublincore.format</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_format</widget>\n        </column>\n        <column name=\"language\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:language</property>\n            <property name=\"label\">label.dublincore.language</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_language</widget>\n        </column>\n        <column name=\"expired_date\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:expired</property>\n            <property name=\"label\">label.dublincore.expired</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_expiration_date</widget>\n        </column>\n        <column name=\"contributors\" selectedByDefault=\"false\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"label\">label.dublincore.contributors</property>\n          </properties>\n          <widget>listing_contributors</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_thumbnail\" type=\"listingThumbnail\">\n      <columns>\n        <column name=\"last_contributor\">\n          <properties mode=\"any\">\n            <property name=\"label\">label.dublincore.lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column name=\"size_and_format\">\n          <properties mode=\"any\">\n            <property name=\"label\">\n              label.selection.column.size_and_format\n            </property>\n          </properties>\n          <widget>listing_size_and_format</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_virtual_navigation_listing_ajax\">\n      <aliases>\n        <alias>document_virtual_navigation_listing</alias>\n      </aliases>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBox\">true</property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_version</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_livedit_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_ajax_compact_2_columns\">\n      <aliases>\n        <alias>document_listing_compact_2_columns</alias>\n      </aliases>\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n          <widget>listing_modification_date</widget>\n          <widget>listing_author</widget>\n          <widget>listing_lifecycle</widget>\n          <widget>listing_version</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_virtual_navigation_listing_ajax_compact_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n          <widget>listing_modification_date</widget>\n          <widget>listing_author</widget>\n          <widget>listing_lifecycle</widget>\n          <widget>listing_version</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_icon_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_selection_box_with_current_document</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_big_icon_type_link</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_listing_ajax_icon_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_thumbnail</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"document_virtual_navigation_listing_ajax_icon_2_columns\">\n      <properties mode=\"any\">\n        <property name=\"display\">table_2_columns</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\">\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_thumbnail</widget>\n        </column>\n        <column alwaysSelected=\"true\">\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"listing_thumbnail_header\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_div_template.xhtml\n        </template>\n      </templates>\n      <columns>\n        <column alwaysSelected=\"true\" name=\"selection\">\n          <widget>listing_ajax_selection_box</widget>\n        </column>\n        <column>\n          <widget>listing_thumbnail</widget>\n        </column>\n        <column>\n          <widget>listing_title_link</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layouts-listing-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouttypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.types/Contributions/org.nuxeo.ecm.platform.forms.layouts.webapp.types--layouttypes",
              "id": "org.nuxeo.ecm.platform.forms.layouts.webapp.types--layouttypes",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"layouttypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layoutType name=\"listingTable\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n        <template mode=\"edit_columns\">\n          /layouts/layout_column_selection_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos_map\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n      </templates>\n      <configuration>\n        <title>Layout listing displayed as table.</title>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"showListingHeader\">true</property>\n            <property name=\"showRowEvenOddClass\">true</property>\n          </defaultValues>\n        </properties>\n      </configuration>\n    </layoutType>\n\n    <layoutType name=\"listingThumbnail\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_thumbnail_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n        <template mode=\"edit_columns\">\n          /layouts/layout_column_selection_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos_map\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n      </templates>\n      <configuration>\n        <title>Layout listing displayed as thumbnail.</title>\n        <description>\n          <p>This layout type displays the layout in a box style using another layout for the box heading.</p>\n        </description>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"display\">block</property>\n            <property name=\"thumbnailHeaderLayout\">listing_thumbnail_header</property>\n            <property name=\"before_template\">/layouts/layout_listing_thumbnail_infoview.xhtml</property>\n          </defaultValues>\n        </properties>\n      </configuration>\n    </layoutType>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.forms.layouts.webapp.types",
          "name": "org.nuxeo.ecm.platform.forms.layouts.webapp.types",
          "requirements": [],
          "resolutionOrder": 640,
          "services": [],
          "startOrder": 336,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.forms.layouts.webapp.types\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouttypes\">\n\n    <layoutType name=\"listingTable\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_ajax_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n        <template mode=\"edit_columns\">\n          /layouts/layout_column_selection_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos_map\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n      </templates>\n      <configuration>\n        <title>Layout listing displayed as table.</title>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"showListingHeader\">true</property>\n            <property name=\"showRowEvenOddClass\">true</property>\n          </defaultValues>\n        </properties>\n      </configuration>\n    </layoutType>\n\n    <layoutType name=\"listingThumbnail\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_thumbnail_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n        <template mode=\"edit_columns\">\n          /layouts/layout_column_selection_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n        <template mode=\"edit_sort_infos_map\">\n          /layouts/layout_sort_infos_template.xhtml\n        </template>\n      </templates>\n      <configuration>\n        <title>Layout listing displayed as thumbnail.</title>\n        <description>\n          <p>This layout type displays the layout in a box style using another layout for the box heading.</p>\n        </description>\n        <properties>\n          <defaultValues mode=\"any\">\n            <property name=\"display\">block</property>\n            <property name=\"thumbnailHeaderLayout\">listing_thumbnail_header</property>\n            <property name=\"before_template\">/layouts/layout_listing_thumbnail_infoview.xhtml</property>\n          </defaultValues>\n        </properties>\n      </configuration>\n    </layoutType>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/layouttypes-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.contentview.contrib/Contributions/org.nuxeo.ecm.webapp.contentview.contrib--contentViews",
              "id": "org.nuxeo.ecm.webapp.contentview.contrib--contentViews",
              "registrationOrder": 6,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"document_content\">\n\n      <title>label.contentview.document_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"document_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"quick\" name=\"document_content_filter\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"document_listing_table\" showCSVExport=\"true\" showEditColumns=\"true\" showSpreadsheet=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n        <layout iconPath=\"/icons/document_listing_icon_2_columns_icon.png\" name=\"document_listing_thumbnail\" showEditRows=\"true\" showSlideshow=\"true\" title=\"document_thumbnail_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION</selectionList>\n      <actions category=\"CURRENT_SELECTION_LIST\"/>\n\n    </contentView>\n\n    <contentView name=\"document_trash_content\">\n\n      <title>label.contentview.document_trash_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"document_trash_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"quick\" name=\"document_content_filter\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"document_listing_table\" showEditColumns=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n        <layout iconPath=\"/icons/document_listing_icon_2_columns_icon.png\" name=\"document_listing_thumbnail\" showEditRows=\"true\" showSlideshow=\"true\" title=\"document_thumbnail_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION_TRASH</selectionList>\n      <actions category=\"CURRENT_SELECTION_TRASH_LIST\"/>\n\n    </contentView>\n\n    <contentView name=\"section_content\">\n\n      <title>label.contentview.section_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"section_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"quick\" name=\"document_content_filter\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n        <event>documentPublicationRejected</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"document_listing_table\" showCSVExport=\"true\" showEditColumns=\"true\" showSpreadsheet=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n        <layout iconPath=\"/icons/document_listing_icon_2_columns_icon.png\" name=\"document_listing_thumbnail\" showEditRows=\"true\" showSlideshow=\"true\" title=\"document_thumbnail_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION_SECTIONS</selectionList>\n      <actions category=\"CURRENT_SELECTION_SECTIONS_LIST\"/>\n\n    </contentView>\n\n    <contentView name=\"orderable_document_content\">\n\n      <title>label.contentview.orderable_document_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"orderable_document_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout filterDisplayType=\"quick\" name=\"document_content_filter\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"document_listing_table\" showCSVExport=\"true\" showEditColumns=\"true\" showSpreadsheet=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION</selectionList>\n      <actions category=\"ORDERABLE_CURRENT_SELECTION_LIST\"/>\n\n    </contentView>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.contentview.contrib",
          "name": "org.nuxeo.ecm.webapp.contentview.contrib",
          "requirements": [],
          "resolutionOrder": 641,
          "services": [],
          "startOrder": 657,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.webapp.contentview.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n    point=\"contentViews\">\n\n    <contentView name=\"document_content\">\n\n      <title>label.contentview.document_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"document_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout name=\"document_content_filter\"\n        filterDisplayType=\"quick\" />\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"document_listing_table\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" showSpreadsheet=\"true\" showEditColumns=\"true\" />\n        <layout name=\"document_listing_thumbnail\" title=\"document_thumbnail_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon_2_columns_icon.png\"\n          showSlideshow=\"true\" showEditRows=\"true\" />\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION</selectionList>\n      <actions category=\"CURRENT_SELECTION_LIST\" />\n\n    </contentView>\n\n    <contentView name=\"document_trash_content\">\n\n      <title>label.contentview.document_trash_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"document_trash_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout name=\"document_content_filter\"\n        filterDisplayType=\"quick\" />\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"document_listing_table\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\" showEditColumns=\"true\" />\n        <layout name=\"document_listing_thumbnail\" title=\"document_thumbnail_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon_2_columns_icon.png\"\n          showSlideshow=\"true\" showEditRows=\"true\" />\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION_TRASH</selectionList>\n      <actions category=\"CURRENT_SELECTION_TRASH_LIST\" />\n\n    </contentView>\n\n    <contentView name=\"section_content\">\n\n      <title>label.contentview.section_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"section_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <property name=\"maxResults\">DEFAULT_NAVIGATION_RESULTS</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout name=\"document_content_filter\"\n        filterDisplayType=\"quick\" />\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n        <event>documentPublicationRejected</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"document_listing_table\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" showSpreadsheet=\"true\" showEditColumns=\"true\" />\n        <layout name=\"document_listing_thumbnail\" title=\"document_thumbnail_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon_2_columns_icon.png\"\n          showSlideshow=\"true\" showEditRows=\"true\" />\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION_SECTIONS</selectionList>\n      <actions category=\"CURRENT_SELECTION_SECTIONS_LIST\" />\n\n    </contentView>\n\n    <contentView name=\"orderable_document_content\">\n\n      <title>label.contentview.orderable_document_content</title>\n      <translateTitle>true</translateTitle>\n      <showTitle>false</showTitle>\n\n      <pageProvider name=\"orderable_document_content\">\n        <property name=\"coreSession\">#{documentManager}</property>\n        <parameter>#{currentDocument.id}</parameter>\n      </pageProvider>\n\n      <searchLayout name=\"document_content_filter\"\n        filterDisplayType=\"quick\" />\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>#{currentDocument.id}</cacheKey>\n      <cacheSize>10</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"document_listing_table\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" showSpreadsheet=\"true\" showEditColumns=\"true\" />\n      </resultLayouts>\n\n      <selectionList>CURRENT_SELECTION</selectionList>\n      <actions category=\"ORDERABLE_CURRENT_SELECTION_LIST\" />\n\n    </contentView>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/contentviews-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.layouts.users.contrib/Contributions/org.nuxeo.ecm.webapp.layouts.users.contrib--layouts",
              "id": "org.nuxeo.ecm.webapp.layouts.users.contrib--layouts",
              "registrationOrder": 14,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"users_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_userName</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_firstName</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_lastName</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"groups_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_groupName</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_groupLabel</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.layouts.users.contrib/Contributions/org.nuxeo.ecm.webapp.layouts.users.contrib--widgets",
              "id": "org.nuxeo.ecm.webapp.layouts.users.contrib--widgets",
              "registrationOrder": 13,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"listing_userName\" type=\"singleUserSuggestion\">\n      <labels>\n        <label mode=\"any\">label.userManager.user</label>\n      </labels>\n      <fields>\n        <field>data.id</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n      <properties widgetMode=\"view\">\n        <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        <property name=\"firstLabelField\">firstName</property>\n        <property name=\"secondLabelField\">lastName</property>\n        <property name=\"hideFirstLabel\">true</property>\n        <property name=\"hideSecondLabel\">true</property>\n        <property name=\"displayAction\">edit</property>\n        <property name=\"hideIcon\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_firstName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userManager.firstName</label>\n      </labels>\n      <fields>\n         <field>data.user.firstName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"listing_lastName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userManager.lastName</label>\n      </labels>\n      <fields>\n         <field>data.user.lastName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"listing_email\" type=\"text\">\n      <labels>\n        <label mode=\"any\">email</label>\n      </labels>\n      <fields>\n         <field>data.user.email</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"listing_groupName\" type=\"singleUserSuggestion\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupName</label>\n      </labels>\n      <fields>\n         <field>data.group.groupname</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n      <properties widgetMode=\"view\">\n        <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        <property name=\"hideFirstLabel\">true</property>\n        <property name=\"displayAction\">edit</property>\n        <property name=\"hideIcon\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_groupLabel\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupLabel</label>\n      </labels>\n      <fields>\n         <field>data.group.grouplabel</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.layouts.users.contrib",
          "name": "org.nuxeo.ecm.webapp.layouts.users.contrib",
          "requirements": [],
          "resolutionOrder": 642,
          "services": [],
          "startOrder": 664,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.webapp.layouts.users.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"users_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_userName</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_firstName</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_lastName</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"groups_listing\">\n      <templates>\n        <template mode=\"any\">\n          /layouts/layout_listing_template.xhtml\n        </template>\n        <template mode=\"csv\">\n          /layouts/layout_listing_csv_template.xhtml\n        </template>\n        <template mode=\"pdf\">\n          /layouts/layout_listing_pdf_template.xhtml\n        </template>\n      </templates>\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_groupName</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_groupLabel</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"listing_userName\" type=\"singleUserSuggestion\">\n      <labels>\n        <label mode=\"any\">label.userManager.user</label>\n      </labels>\n      <fields>\n        <field>data.id</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n      <properties widgetMode=\"view\">\n        <property name=\"userSuggestionSearchType\">USER_TYPE</property>\n        <property name=\"firstLabelField\">firstName</property>\n        <property name=\"secondLabelField\">lastName</property>\n        <property name=\"hideFirstLabel\">true</property>\n        <property name=\"hideSecondLabel\">true</property>\n        <property name=\"displayAction\">edit</property>\n        <property name=\"hideIcon\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_firstName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userManager.firstName</label>\n      </labels>\n      <fields>\n         <field>data.user.firstName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"listing_lastName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userManager.lastName</label>\n      </labels>\n      <fields>\n         <field>data.user.lastName</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"listing_email\" type=\"text\">\n      <labels>\n        <label mode=\"any\">email</label>\n      </labels>\n      <fields>\n         <field>data.user.email</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n    <widget name=\"listing_groupName\" type=\"singleUserSuggestion\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupName</label>\n      </labels>\n      <fields>\n         <field>data.group.groupname</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n      <properties widgetMode=\"view\">\n        <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        <property name=\"hideFirstLabel\">true</property>\n        <property name=\"displayAction\">edit</property>\n        <property name=\"hideIcon\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_groupLabel\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.groupManager.groupLabel</label>\n      </labels>\n      <fields>\n         <field>data.group.grouplabel</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"any\">view</mode>\n      </widgetModes>\n    </widget>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/users-layouts-listing-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.contentview.users.contrib/Contributions/org.nuxeo.ecm.webapp.contentview.users.contrib--contentViews",
              "id": "org.nuxeo.ecm.webapp.contentview.users.contrib--contentViews",
              "registrationOrder": 7,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"users_listing_search_only\">\n      <emptySentence>label.userManager.emptyUserList</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n      <pageProvider name=\"users_listing\">\n        <property name=\"usersListingMode\">#{userManagementActions.listingMode}</property>\n        <parameter>#{userManagementActions.searchString}</parameter>\n      </pageProvider>\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <showRefreshCommand>false</showRefreshCommand>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>usersListingChanged</event>\n        <event>usersSearchChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n      <resultLayouts>\n        <layout name=\"users_listing\" showCSVExport=\"false\" showPDFExport=\"false\"/>\n      </resultLayouts>\n    </contentView>\n\n    <contentView name=\"users_listing_tabbed\">\n      <emptySentence>label.userManager.emptyUserList</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n      <pageProvider name=\"users_listing\">\n        <property name=\"usersListingMode\">#{userManagementActions.listingMode}</property>\n        <parameter>#{userManagementActions.selectedLetter}</parameter>\n      </pageProvider>\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <showRefreshCommand>false</showRefreshCommand>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>selectedLetterChanged</event>\n      </refresh>\n      <reset>\n        <event>usersListingChanged</event>\n      </reset>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n      <resultLayouts>\n        <layout name=\"users_listing\" showCSVExport=\"false\" showPDFExport=\"false\"/>\n      </resultLayouts>\n    </contentView>\n\n    <contentView name=\"groups_listing_search_only\">\n      <emptySentence>label.groupManager.emptyGroupList</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n      <pageProvider name=\"groups_listing\">\n        <property name=\"groupsListingMode\">#{groupManagementActions.listingMode}</property>\n        <parameter>#{groupManagementActions.searchString}</parameter>\n      </pageProvider>\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <showRefreshCommand>false</showRefreshCommand>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>groupsListingChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n      <resultLayouts>\n        <layout name=\"groups_listing\" showCSVExport=\"false\" showPDFExport=\"false\"/>\n      </resultLayouts>\n    </contentView>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.contentview.users.contrib",
          "name": "org.nuxeo.ecm.webapp.contentview.users.contrib",
          "requirements": [],
          "resolutionOrder": 643,
          "services": [],
          "startOrder": 658,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.webapp.contentview.users.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n    point=\"contentViews\">\n\n    <contentView name=\"users_listing_search_only\">\n      <emptySentence>label.userManager.emptyUserList</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n      <pageProvider name=\"users_listing\">\n        <property name=\"usersListingMode\">#{userManagementActions.listingMode}</property>\n        <parameter>#{userManagementActions.searchString}</parameter>\n      </pageProvider>\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <showRefreshCommand>false</showRefreshCommand>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>usersListingChanged</event>\n        <event>usersSearchChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n      <resultLayouts>\n        <layout name=\"users_listing\" showCSVExport=\"false\"\n          showPDFExport=\"false\" />\n      </resultLayouts>\n    </contentView>\n\n    <contentView name=\"users_listing_tabbed\">\n      <emptySentence>label.userManager.emptyUserList</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n      <pageProvider name=\"users_listing\">\n        <property name=\"usersListingMode\">#{userManagementActions.listingMode}</property>\n        <parameter>#{userManagementActions.selectedLetter}</parameter>\n      </pageProvider>\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <showRefreshCommand>false</showRefreshCommand>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>selectedLetterChanged</event>\n      </refresh>\n      <reset>\n        <event>usersListingChanged</event>\n      </reset>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n      <resultLayouts>\n        <layout name=\"users_listing\" showCSVExport=\"false\"\n          showPDFExport=\"false\" />\n      </resultLayouts>\n    </contentView>\n\n    <contentView name=\"groups_listing_search_only\">\n      <emptySentence>label.groupManager.emptyGroupList</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n      <pageProvider name=\"groups_listing\">\n        <property name=\"groupsListingMode\">#{groupManagementActions.listingMode}</property>\n        <parameter>#{groupManagementActions.searchString}</parameter>\n      </pageProvider>\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <showRefreshCommand>false</showRefreshCommand>\n      <useGlobalPageSize>false</useGlobalPageSize>\n      <refresh>\n        <event>groupsListingChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n      <resultLayouts>\n        <layout name=\"groups_listing\" showCSVExport=\"false\"\n          showPDFExport=\"false\" />\n      </resultLayouts>\n    </contentView>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/users-contentviews-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.EventService--listeners",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.reload/Contributions/org.nuxeo.ecm.webapp.seam.reload--listeners",
              "id": "org.nuxeo.ecm.webapp.seam.reload--listeners",
              "registrationOrder": 5,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.EventService",
                "name": "org.nuxeo.runtime.EventService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"listeners\" target=\"org.nuxeo.runtime.EventService\">\n    <listener class=\"org.nuxeo.ecm.webapp.seam.NuxeoSeamFlusher\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--openUrl",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.reload/Contributions/org.nuxeo.ecm.webapp.seam.reload--openUrl",
              "id": "org.nuxeo.ecm.webapp.seam.reload--openUrl",
              "registrationOrder": 3,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"openUrl\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n    <openUrl name=\"seam-reload\">\n      <grantPattern>/nuxeo/restAPI/seamReload</grantPattern>\n    </openUrl>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.reload",
          "name": "org.nuxeo.ecm.webapp.seam.reload",
          "requirements": [],
          "resolutionOrder": 644,
          "services": [],
          "startOrder": 669,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.webapp.seam.reload\">\n\n  <extension target=\"org.nuxeo.runtime.EventService\" point=\"listeners\">\n    <listener class=\"org.nuxeo.ecm.webapp.seam.NuxeoSeamFlusher\">\n      <topic>org.nuxeo.runtime.reload</topic>\n    </listener>\n  </extension>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"openUrl\">\n    <openUrl name=\"seam-reload\">\n      <grantPattern>${org.nuxeo.ecm.contextPath}/restAPI/seamReload</grantPattern>\n    </openUrl>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/reload-seam-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.operation.OperationServiceComponent--chains",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.action.defaultChains/Contributions/org.nuxeo.ecm.webapp.seam.action.defaultChains--chains",
              "id": "org.nuxeo.ecm.webapp.seam.action.defaultChains--chains",
              "registrationOrder": 6,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "name": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"chains\" target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\">\n\n    <chain id=\"downloadFilesZip\">\n      <operation id=\"Context.FetchDocument\"/>\n      <operation id=\"Document.GetBlobs\"/>\n      <operation id=\"Blob.CreateZip\">\n        <param name=\"filename\" type=\"string\">attachments.zip\n        </param>\n      </operation>\n      <operation id=\"Seam.DownloadFile\"/>\n    </chain>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.seam.action.defaultChains",
          "name": "org.nuxeo.ecm.webapp.seam.action.defaultChains",
          "requirements": [],
          "resolutionOrder": 645,
          "services": [],
          "startOrder": 666,
          "version": "2021.57.3",
          "xmlFileContent": "<component name=\"org.nuxeo.ecm.webapp.seam.action.defaultChains\">\n\n  <extension target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\"\n    point=\"chains\">\n\n    <chain id=\"downloadFilesZip\">\n      <operation id=\"Context.FetchDocument\" />\n      <operation id=\"Document.GetBlobs\" />\n      <operation id=\"Blob.CreateZip\">\n        <param type=\"string\" name=\"filename\">attachments.zip\n        </param>\n      </operation>\n      <operation id=\"Seam.DownloadFile\" />\n    </chain>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/chains-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.webapp.bulkedit.BulkEditServiceImpl",
          "documentation": "\n    Service used to bulk edit a list of documents.\n\n    @author Thomas Roger (troger@nuxeo.com)\n    @since 5.7.3\n  \n",
          "documentationHtml": "<p>\nService used to bulk edit a list of documents.\n</p><p>\n&#64;since 5.7.3\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.webapp.bulkedit.BulkEditService",
              "descriptors": [
                "org.nuxeo.ecm.webapp.bulkedit.VersioningDescriptor"
              ],
              "documentation": "\n      CAUTION deprecated extension point since 9.1, versioning has been removed from bulk edit, if you want to\n      provide automatic versioning, contribute policy to versioning service.\n\n      The versioning extension point defines the versioning option that will be\n      used before editing a document through bulk edit.\n      The default value will be MINOR, to keep compatibility with previous\n      releases.\n      Possible values are NONE, MINOR OR MAJOR (see VersioningOption enumeration)\n      Other values will raise an IllegalArgumentException\n      @since 5.7.3\n      <code>\n    <versioning>\n        <defaultVersioningOption>MAJOR</defaultVersioningOption>\n    </versioning>\n</code>\n",
              "documentationHtml": "<p>\nCAUTION deprecated extension point since 9.1, versioning has been removed from bulk edit, if you want to\nprovide automatic versioning, contribute policy to versioning service.\n</p><p>\nThe versioning extension point defines the versioning option that will be\nused before editing a document through bulk edit.\nThe default value will be MINOR, to keep compatibility with previous\nreleases.\nPossible values are NONE, MINOR OR MAJOR (see VersioningOption enumeration)\nOther values will raise an IllegalArgumentException\n&#64;since 5.7.3\n</p><p></p><pre><code>    &lt;versioning&gt;\n        &lt;defaultVersioningOption&gt;MAJOR&lt;/defaultVersioningOption&gt;\n    &lt;/versioning&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.bulkedit.BulkEditService/ExtensionPoints/org.nuxeo.ecm.webapp.bulkedit.BulkEditService--versioning",
              "id": "org.nuxeo.ecm.webapp.bulkedit.BulkEditService--versioning",
              "label": "versioning (org.nuxeo.ecm.webapp.bulkedit.BulkEditService)",
              "name": "versioning",
              "version": "2021.57.3"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.bulkedit.BulkEditService",
          "name": "org.nuxeo.ecm.webapp.bulkedit.BulkEditService",
          "requirements": [],
          "resolutionOrder": 646,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.webapp.bulkedit.BulkEditService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.bulkedit.BulkEditService/Services/org.nuxeo.ecm.webapp.bulkedit.BulkEditService",
              "id": "org.nuxeo.ecm.webapp.bulkedit.BulkEditService",
              "overriden": false,
              "version": "2021.57.3"
            }
          ],
          "startOrder": 919,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.webapp.bulkedit.BulkEditService\">\n\n  <documentation>\n    Service used to bulk edit a list of documents.\n\n    @author Thomas Roger (troger@nuxeo.com)\n    @since 5.7.3\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.webapp.bulkedit.BulkEditServiceImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.webapp.bulkedit.BulkEditService\"/>\n  </service>\n\n  <extension-point name=\"versioning\">\n    <documentation>\n      CAUTION deprecated extension point since 9.1, versioning has been removed from bulk edit, if you want to\n      provide automatic versioning, contribute policy to versioning service.\n\n      The versioning extension point defines the versioning option that will be\n      used before editing a document through bulk edit.\n      The default value will be MINOR, to keep compatibility with previous\n      releases.\n      Possible values are NONE, MINOR OR MAJOR (see VersioningOption enumeration)\n      Other values will raise an IllegalArgumentException\n      @since 5.7.3\n      <code>\n        <versioning>\n          <defaultVersioningOption>MAJOR</defaultVersioningOption>\n        </versioning>\n      </code>\n    </documentation>\n\n    <object\n      class=\"org.nuxeo.ecm.webapp.bulkedit.VersioningDescriptor\" />\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/bulkedit-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "aliases": [
            "org.nuxeo.ecm.platform.virtualnavigation.NavTreeService"
          ],
          "componentClass": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
          "documentation": "\n    This component is used to register and manage custom navigation\n    trees.\n  \n",
          "documentationHtml": "<p>\nThis component is used to register and manage custom navigation\ntrees.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "aliases": [
                "org.nuxeo.ecm.platform.virtualnavigation.NavTreeService--navigationTree"
              ],
              "componentId": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
              "descriptors": [
                "org.nuxeo.ecm.webapp.tree.nav.NavTreeDescriptor"
              ],
              "documentation": "\n      Extension point to register new navigation tree\n    \n",
              "documentationHtml": "<p>\nExtension point to register new navigation tree\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.tree.nav.NavTreeService/ExtensionPoints/org.nuxeo.ecm.webapp.tree.nav.NavTreeService--navigationTree",
              "id": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService--navigationTree",
              "label": "navigationTree (org.nuxeo.ecm.webapp.tree.nav.NavTreeService)",
              "name": "navigationTree",
              "version": "2021.57.3"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
          "name": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
          "requirements": [
            "org.nuxeo.ecm.platform.actions.ActionService"
          ],
          "resolutionOrder": 647,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.tree.nav.NavTreeService/Services/org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
              "id": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
              "overriden": false,
              "version": "2021.57.3"
            }
          ],
          "startOrder": 924,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.webapp.tree.nav.NavTreeService\">\n  <alias>org.nuxeo.ecm.platform.virtualnavigation.NavTreeService</alias>\n\n  <!-- since 6.0, automatically registers actions -->\n  <require>org.nuxeo.ecm.platform.actions.ActionService</require>\n\n  <documentation>\n    This component is used to register and manage custom navigation\n    trees.\n  </documentation>\n\n  <implementation class=\"org.nuxeo.ecm.webapp.tree.nav.NavTreeService\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.webapp.tree.nav.NavTreeService\" />\n  </service>\n\n  <extension-point name=\"navigationTree\">\n    <documentation>\n      Extension point to register new navigation tree\n    </documentation>\n    <object class=\"org.nuxeo.ecm.webapp.tree.nav.NavTreeDescriptor\" />\n  </extension-point>\n\n</component>",
          "xmlFileName": "/OSGI-INF/navtree-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "aliases": [
            "org.nuxeo.ecm.platform.virtualnavigation.NavTreeService.default.contrib"
          ],
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService--navigationTree",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.tree.nav.NavTreeService.default.contrib/Contributions/org.nuxeo.ecm.webapp.tree.nav.NavTreeService.default.contrib--navigationTree",
              "id": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService.default.contrib--navigationTree",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
                "name": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"navigationTree\" target=\"org.nuxeo.ecm.webapp.tree.nav.NavTreeService\">\n\n    <navTree order=\"1\" treeId=\"CONTENT_TREE\" treeLabel=\"label.content.tree\" xhtmlview=\"/incl/tree_explorer.xhtml\"/>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.tree.nav.NavTreeService.default.contrib",
          "name": "org.nuxeo.ecm.webapp.tree.nav.NavTreeService.default.contrib",
          "requirements": [],
          "resolutionOrder": 648,
          "services": [],
          "startOrder": 671,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.webapp.tree.nav.NavTreeService.default.contrib\">\n  <alias>org.nuxeo.ecm.platform.virtualnavigation.NavTreeService.default.contrib</alias>\n\n  <extension point=\"navigationTree\" target=\"org.nuxeo.ecm.webapp.tree.nav.NavTreeService\">\n\n    <navTree order=\"1\" treeId=\"CONTENT_TREE\" treeLabel=\"label.content.tree\"\n      xhtmlview=\"/incl/tree_explorer.xhtml\" />\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/navtree-default-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.WebResources--resources",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.base.webresources.contrib/Contributions/org.nuxeo.ecm.webapp.base.webresources.contrib--resources",
              "id": "org.nuxeo.ecm.webapp.base.webresources.contrib--resources",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.WebResources",
                "name": "org.nuxeo.ecm.platform.WebResources",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"resources\" target=\"org.nuxeo.ecm.platform.WebResources\">\n\n    <resource name=\"jquery.client.js\">\n      <uri>/scripts/dnd/jquery.client.js</uri>\n    </resource>\n    <resource name=\"jquery.dnd-file-upload.js\">\n      <uri>/scripts/dnd/jquery.dnd-file-upload.js</uri>\n    </resource>\n    <resource name=\"nxdropzone.js\">\n      <uri>/scripts/dnd/nxdropzone.js</uri>\n    </resource>\n    <resource name=\"nxinternaldnd.js\">\n      <uri>/scripts/dnd/nxinternaldnd.js</uri>\n    </resource>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.WebResources--bundles",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.base.webresources.contrib/Contributions/org.nuxeo.ecm.webapp.base.webresources.contrib--bundles",
              "id": "org.nuxeo.ecm.webapp.base.webresources.contrib--bundles",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.WebResources",
                "name": "org.nuxeo.ecm.platform.WebResources",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"bundles\" target=\"org.nuxeo.ecm.platform.WebResources\">\n\n    <!-- main bundle with all basic includes -->\n    <bundle name=\"dnd_common\">\n      <resources>\n        <resource>jquery.client.js</resource>\n        <resource>jquery.dnd-file-upload.js</resource>\n        <resource>nxdropzone.js</resource>\n        <resource>nxinternaldnd.js</resource>\n      </resources>\n    </bundle>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.webapp.base.webresources.contrib",
          "name": "org.nuxeo.ecm.webapp.base.webresources.contrib",
          "requirements": [],
          "resolutionOrder": 649,
          "services": [],
          "startOrder": 656,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.webapp.base.webresources.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.WebResources\" point=\"resources\">\n\n    <resource name=\"jquery.client.js\">\n      <uri>/scripts/dnd/jquery.client.js</uri>\n    </resource>\n    <resource name=\"jquery.dnd-file-upload.js\">\n      <uri>/scripts/dnd/jquery.dnd-file-upload.js</uri>\n    </resource>\n    <resource name=\"nxdropzone.js\">\n      <uri>/scripts/dnd/nxdropzone.js</uri>\n    </resource>\n    <resource name=\"nxinternaldnd.js\">\n      <uri>/scripts/dnd/nxinternaldnd.js</uri>\n    </resource>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.WebResources\" point=\"bundles\">\n\n    <!-- main bundle with all basic includes -->\n    <bundle name=\"dnd_common\">\n      <resources>\n        <resource>jquery.client.js</resource>\n        <resource>jquery.dnd-file-upload.js</resource>\n        <resource>nxdropzone.js</resource>\n        <resource>nxinternaldnd.js</resource>\n      </resources>\n    </bundle>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/webresources-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentation": "\n      Properties controlling Drag&amp;Drop behaviors:\n      <ul>\n    <li>org.nuxeo.dnd.upload.timeout: maximum time for uploading a file via\n          Drag&amp;Drop to the server.</li>\n    <li>org.nuxeo.dnd.exec.timeout: maximum time for executing import of\n          files uploaded via Drag&amp;and Drop</li>\n    <li>org.nuxeo.dnd.extendedmode.timeout: mouse over time before switching\n          to extended mode UI (setting to -1 disables the extended mode)</li>\n</ul>\n",
              "documentationHtml": "<p>\nProperties controlling Drag&amp;Drop behaviors:\n</p><ul><li>org.nuxeo.dnd.upload.timeout: maximum time for uploading a file via\nDrag&amp;Drop to the server.</li><li>org.nuxeo.dnd.exec.timeout: maximum time for executing import of\nfiles uploaded via Drag&amp;and Drop</li><li>org.nuxeo.dnd.extendedmode.timeout: mouse over time before switching\nto extended mode UI (setting to -1 disables the extended mode)</li></ul>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.webapp.base.properties/Contributions/org.nuxeo.ecm.platform.webapp.base.properties--configuration",
              "id": "org.nuxeo.ecm.platform.webapp.base.properties--configuration",
              "registrationOrder": 50,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Properties controlling Drag&amp;Drop behaviors:\n      <ul>\n        <li>org.nuxeo.dnd.upload.timeout: maximum time for uploading a file via\n          Drag&amp;Drop to the server.</li>\n        <li>org.nuxeo.dnd.exec.timeout: maximum time for executing import of\n          files uploaded via Drag&amp;and Drop</li>\n        <li>org.nuxeo.dnd.extendedmode.timeout: mouse over time before switching\n          to extended mode UI (setting to -1 disables the extended mode)</li>\n      </ul>\n    </documentation>\n    <property name=\"org.nuxeo.dnd.upload.timeout\">30000</property>\n    <property name=\"org.nuxeo.dnd.exec.timeout\">30000</property>\n    <property name=\"org.nuxeo.dnd.extendedmode.timeout\">2000</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "<strong>nuxeo.jsf.useAjaxTabs</strong>\n\n: enables ajaxified tabs on document views. Activation also relies on\n      the user's browser because this feature requires manipulating the browser's session history in JavaScript to\n      preserve bookmarkable URLs (see compatibility table at\n      <a\n    href=\"http://caniuse.com/#search=pushstate\" target=\"_blank\">http://caniuse.com/#search=pushstate</a>\n, for\n      instance).\n    \n",
              "documentationHtml": "<p>\n<strong>nuxeo.jsf.useAjaxTabs</strong>\n</p><p>\n: enables ajaxified tabs on document views. Activation also relies on\nthe user&#39;s browser because this feature requires manipulating the browser&#39;s session history in JavaScript to\npreserve bookmarkable URLs (see compatibility table at\n<a href=\"http://caniuse.com/#search&#61;pushstate\" target=\"_blank\" rel=\"noopener noreferrer\">http://caniuse.com/#search&#61;pushstate</a>\n, for\ninstance).\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.webapp.base.properties/Contributions/org.nuxeo.ecm.platform.webapp.base.properties--configuration1",
              "id": "org.nuxeo.ecm.platform.webapp.base.properties--configuration1",
              "registrationOrder": 51,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      <strong>nuxeo.jsf.useAjaxTabs</strong>: enables ajaxified tabs on document views. Activation also relies on\n      the user's browser because this feature requires manipulating the browser's session history in JavaScript to\n      preserve bookmarkable URLs (see compatibility table at\n      <a href=\"http://caniuse.com/#search=pushstate\" target=\"_blank\">http://caniuse.com/#search=pushstate</a>, for\n      instance).\n    </documentation>\n    <property name=\"nuxeo.jsf.useAjaxTabs\">true</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "<strong>nuxeo.jsf.ajax.disableErrorFeedback</strong>\n: disables JavaScript hook displaying\n      an error message in the JSF UI when an empty response is received from server.\n      Disabling this hook is not recommended, but this can be useful on a slow server\n      when users do not want to see this message on some concurrent requests (when\n      server is down, no message will be displayed on Ajax actions).\n    \n",
              "documentationHtml": "<p>\n<strong>nuxeo.jsf.ajax.disableErrorFeedback</strong>\n: disables JavaScript hook displaying\nan error message in the JSF UI when an empty response is received from server.\nDisabling this hook is not recommended, but this can be useful on a slow server\nwhen users do not want to see this message on some concurrent requests (when\nserver is down, no message will be displayed on Ajax actions).\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.webapp.base.properties/Contributions/org.nuxeo.ecm.platform.webapp.base.properties--configuration2",
              "id": "org.nuxeo.ecm.platform.webapp.base.properties--configuration2",
              "registrationOrder": 52,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      <strong>nuxeo.jsf.ajax.disableErrorFeedback</strong>: disables JavaScript hook displaying\n      an error message in the JSF UI when an empty response is received from server.\n      Disabling this hook is not recommended, but this can be useful on a slow server\n      when users do not want to see this message on some concurrent requests (when\n      server is down, no message will be displayed on Ajax actions).\n    </documentation>\n    <property name=\"nuxeo.jsf.ajax.disableErrorFeedback\">false</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Properties controlling resources management:\n      <ul>\n    <li>\n        <strong>nuxeo.jsf.combinePageResources</strong>: serve all js and CSS resources\n            of a page with a single request (instead of bundle by bundle)</li>\n    <li>\n        <strong>nuxeo.jsf.deferJavaScriptLoading</strong>: move all JavaScript resources\n            at the end of the page. WARNING - enabling this might break\n            some inline JavaScript code behaviors.</li>\n</ul>\n",
              "documentationHtml": "<p>\nProperties controlling resources management:\n</p><ul><li>\n<strong>nuxeo.jsf.combinePageResources</strong>: serve all js and CSS resources\nof a page with a single request (instead of bundle by bundle)</li><li>\n<strong>nuxeo.jsf.deferJavaScriptLoading</strong>: move all JavaScript resources\nat the end of the page. WARNING - enabling this might break\nsome inline JavaScript code behaviors.</li></ul>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.webapp.base.properties/Contributions/org.nuxeo.ecm.platform.webapp.base.properties--configuration3",
              "id": "org.nuxeo.ecm.platform.webapp.base.properties--configuration3",
              "registrationOrder": 53,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Properties controlling resources management:\n      <ul>\n        <li><strong>nuxeo.jsf.combinePageResources</strong>: serve all js and CSS resources\n            of a page with a single request (instead of bundle by bundle)</li>\n        <li><strong>nuxeo.jsf.deferJavaScriptLoading</strong>: move all JavaScript resources\n            at the end of the page. WARNING - enabling this might break\n            some inline JavaScript code behaviors.</li>\n      </ul>\n    </documentation>\n    <property name=\"nuxeo.jsf.combinePageResources\">true</property>\n    <property name=\"nuxeo.jsf.deferJavaScriptLoading\">true</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Controls whether iterations in document listings are done\n      using build-time tag c:forEach or render-time tag ui:repeat (which is much\n      more efficient on large content).\n\n      Using render-time iterations may break\n      some behaviours, this property is mainly useful for backport of\n      optimizations on maintenance branches.\n\n      @since 8.2\n    \n",
              "documentationHtml": "<p>\nControls whether iterations in document listings are done\nusing build-time tag c:forEach or render-time tag ui:repeat (which is much\nmore efficient on large content).\n</p><p>\nUsing render-time iterations may break\nsome behaviours, this property is mainly useful for backport of\noptimizations on maintenance branches.\n</p><p>\n&#64;since 8.2\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.webapp.base.properties/Contributions/org.nuxeo.ecm.platform.webapp.base.properties--configuration4",
              "id": "org.nuxeo.ecm.platform.webapp.base.properties--configuration4",
              "registrationOrder": 54,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Controls whether iterations in document listings are done\n      using build-time tag c:forEach or render-time tag ui:repeat (which is much\n      more efficient on large content).\n\n      Using render-time iterations may break\n      some behaviours, this property is mainly useful for backport of\n      optimizations on maintenance branches.\n\n      @since 8.2\n    </documentation>\n    <property name=\"nuxeo.jsf.listings.useRepeatRenderTime\">true</property>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentation": "\n      Controls whether iterations in vocabulary entries listings are done\n      using build-time tag c:forEach or render-time tag ui:repeat (which is much\n      more efficient on large content).\n\n      Using render-time iterations may break\n      some behaviours, this property is mainly useful for backport of\n      optimizations on maintenance branches.\n\n      @since 9.3\n    \n",
              "documentationHtml": "<p>\nControls whether iterations in vocabulary entries listings are done\nusing build-time tag c:forEach or render-time tag ui:repeat (which is much\nmore efficient on large content).\n</p><p>\nUsing render-time iterations may break\nsome behaviours, this property is mainly useful for backport of\noptimizations on maintenance branches.\n</p><p>\n&#64;since 9.3\n</p><p></p>",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.webapp.base.properties/Contributions/org.nuxeo.ecm.platform.webapp.base.properties--configuration5",
              "id": "org.nuxeo.ecm.platform.webapp.base.properties--configuration5",
              "registrationOrder": 55,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <documentation>\n      Controls whether iterations in vocabulary entries listings are done\n      using build-time tag c:forEach or render-time tag ui:repeat (which is much\n      more efficient on large content).\n\n      Using render-time iterations may break\n      some behaviours, this property is mainly useful for backport of\n      optimizations on maintenance branches.\n\n      @since 9.3\n    </documentation>\n    <property name=\"nuxeo.jsf.vocabularies.useRepeatRenderTime\">true</property>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.webapp.base.properties",
          "name": "org.nuxeo.ecm.platform.webapp.base.properties",
          "requirements": [],
          "resolutionOrder": 650,
          "services": [],
          "startOrder": 594,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.platform.webapp.base.properties\">\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Properties controlling Drag&amp;Drop behaviors:\n      <ul>\n        <li>org.nuxeo.dnd.upload.timeout: maximum time for uploading a file via\n          Drag&amp;Drop to the server.</li>\n        <li>org.nuxeo.dnd.exec.timeout: maximum time for executing import of\n          files uploaded via Drag&amp;and Drop</li>\n        <li>org.nuxeo.dnd.extendedmode.timeout: mouse over time before switching\n          to extended mode UI (setting to -1 disables the extended mode)</li>\n      </ul>\n    </documentation>\n    <property name=\"org.nuxeo.dnd.upload.timeout\">30000</property>\n    <property name=\"org.nuxeo.dnd.exec.timeout\">30000</property>\n    <property name=\"org.nuxeo.dnd.extendedmode.timeout\">2000</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      <strong>nuxeo.jsf.useAjaxTabs</strong>: enables ajaxified tabs on document views. Activation also relies on\n      the user's browser because this feature requires manipulating the browser's session history in JavaScript to\n      preserve bookmarkable URLs (see compatibility table at\n      <a href=\"http://caniuse.com/#search=pushstate\" target=\"_blank\">http://caniuse.com/#search=pushstate</a>, for\n      instance).\n    </documentation>\n    <property name=\"nuxeo.jsf.useAjaxTabs\">true</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      <strong>nuxeo.jsf.ajax.disableErrorFeedback</strong>: disables JavaScript hook displaying\n      an error message in the JSF UI when an empty response is received from server.\n      Disabling this hook is not recommended, but this can be useful on a slow server\n      when users do not want to see this message on some concurrent requests (when\n      server is down, no message will be displayed on Ajax actions).\n    </documentation>\n    <property name=\"nuxeo.jsf.ajax.disableErrorFeedback\">false</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Properties controlling resources management:\n      <ul>\n        <li><strong>nuxeo.jsf.combinePageResources</strong>: serve all js and CSS resources\n            of a page with a single request (instead of bundle by bundle)</li>\n        <li><strong>nuxeo.jsf.deferJavaScriptLoading</strong>: move all JavaScript resources\n            at the end of the page. WARNING - enabling this might break\n            some inline JavaScript code behaviors.</li>\n      </ul>\n    </documentation>\n    <property name=\"nuxeo.jsf.combinePageResources\">true</property>\n    <property name=\"nuxeo.jsf.deferJavaScriptLoading\">true</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Controls whether iterations in document listings are done\n      using build-time tag c:forEach or render-time tag ui:repeat (which is much\n      more efficient on large content).\n\n      Using render-time iterations may break\n      some behaviours, this property is mainly useful for backport of\n      optimizations on maintenance branches.\n\n      @since 8.2\n    </documentation>\n    <property name=\"nuxeo.jsf.listings.useRepeatRenderTime\">true</property>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <documentation>\n      Controls whether iterations in vocabulary entries listings are done\n      using build-time tag c:forEach or render-time tag ui:repeat (which is much\n      more efficient on large content).\n\n      Using render-time iterations may break\n      some behaviours, this property is mainly useful for backport of\n      optimizations on maintenance branches.\n\n      @since 9.3\n    </documentation>\n    <property name=\"nuxeo.jsf.vocabularies.useRepeatRenderTime\">true</property>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/webapp-base-properties.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.rest.URLService--urlpatterns",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.thumbnail.contrib/Contributions/org.nuxeo.ecm.platform.thumbnail.contrib--urlpatterns",
              "id": "org.nuxeo.ecm.platform.thumbnail.contrib--urlpatterns",
              "registrationOrder": 4,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "name": "org.nuxeo.ecm.platform.ui.web.rest.URLService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"urlpatterns\" target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\">\n    <urlPattern enabled=\"true\" name=\"downloadThumbnail\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>false</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>downloadThumbnail</codecName>\n      <actionBinding>#{thumbnailManager.downloadThumbnail}</actionBinding>\n      <documentViewBinding>\n        #{restHelper.documentView}\n      </documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.newDocumentView}\n      </newDocumentViewBinding>\n    </urlPattern>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.url.service.DocumentViewCodecService--codecs",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.thumbnail.contrib/Contributions/org.nuxeo.ecm.platform.thumbnail.contrib--codecs",
              "id": "org.nuxeo.ecm.platform.thumbnail.contrib--codecs",
              "registrationOrder": 5,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.url.service.DocumentViewCodecService",
                "name": "org.nuxeo.ecm.platform.url.service.DocumentViewCodecService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"codecs\" target=\"org.nuxeo.ecm.platform.url.service.DocumentViewCodecService\">\n    <documentViewCodec class=\"org.nuxeo.ecm.platform.url.codec.DocumentFileCodec\" enabled=\"true\" name=\"downloadThumbnail\" prefix=\"nxthumb\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--startURL",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.thumbnail.contrib/Contributions/org.nuxeo.ecm.platform.thumbnail.contrib--startURL",
              "id": "org.nuxeo.ecm.platform.thumbnail.contrib--startURL",
              "registrationOrder": 6,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"startURL\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n    <startURLPattern>\n      <patterns>\n        <pattern>nxthumb/</pattern>\n      </patterns>\n    </startURLPattern>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.platform.thumbnail.contrib",
          "name": "org.nuxeo.ecm.platform.thumbnail.contrib",
          "requirements": [],
          "resolutionOrder": 651,
          "services": [],
          "startOrder": 525,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.thumbnail.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.rest.URLService\"\n    point=\"urlpatterns\">\n    <urlPattern name=\"downloadThumbnail\" enabled=\"true\">\n      <defaultURLPolicy>false</defaultURLPolicy>\n      <needBaseURL>true</needBaseURL>\n      <needRedirectFilter>false</needRedirectFilter>\n      <needFilterPreprocessing>true</needFilterPreprocessing>\n      <codecName>downloadThumbnail</codecName>\n      <actionBinding>#{thumbnailManager.downloadThumbnail}</actionBinding>\n      <documentViewBinding>\n        #{restHelper.documentView}\n      </documentViewBinding>\n      <newDocumentViewBinding>\n        #{restHelper.newDocumentView}\n      </newDocumentViewBinding>\n    </urlPattern>\n  </extension>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.url.service.DocumentViewCodecService\"\n    point=\"codecs\">\n    <documentViewCodec name=\"downloadThumbnail\"\n      enabled=\"true\" prefix=\"nxthumb\"\n      class=\"org.nuxeo.ecm.platform.url.codec.DocumentFileCodec\" />\n  </extension>\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n    point=\"startURL\">\n    <startURLPattern>\n      <patterns>\n        <pattern>nxthumb/</pattern>\n      </patterns>\n    </startURLPattern>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/thumbnail-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.contentview/Contributions/org.nuxeo.ecm.collections.contentview--contentViews",
              "id": "org.nuxeo.ecm.collections.contentview--contentViews",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"user_collection_contentview\">\n\n      <title>label.search.results</title>\n      <translateTitle>true</translateTitle>\n\n      <emptySentence>label.content.empty.search</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"Document\">\n          <fixedPart>\n            ecm:mixinType = 'Collection' AND ecm:mixinType !=\n            'HiddenInNavigation'\n            AND ecm:primaryType != 'Favorites'\n            AND ecm:isVersion = 0 AND\n            ecm:isTrashed = 0\n          </fixedPart>\n        </whereClause>\n        <sort ascending=\"true\" column=\"dc:title\"/>\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <searchLayout name=\"collections_default\"/>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"collections_listing\" showCSVExport=\"true\" showSyndicationLinks=\"false\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>COLLECTIONS_CURRENT_SELECTION</selectionList>\n      <actions category=\"COLLECTIONS_CURRENT_SELECTION_LIST\"/>\n\n    </contentView>\n\n    <contentView name=\"collection_content_contentview\">\n\n      <title>label.search.results</title>\n      <translateTitle>true</translateTitle>\n\n      <emptySentence>label.content.empty.search</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"AdvancedSearch\">\n          <predicate operator=\"FULLTEXT\" parameter=\"ecm:fulltext\">\n            <field name=\"fulltext_all\" schema=\"advanced_search\"/>\n          </predicate>\n          <predicate operator=\"FULLTEXT\" parameter=\"dc:title\">\n            <field name=\"title\" schema=\"advanced_search\"/>\n          </predicate>\n          <predicate operator=\"BETWEEN\" parameter=\"dc:modified\">\n            <field name=\"modified_min\" schema=\"advanced_search\"/>\n            <field name=\"modified_max\" schema=\"advanced_search\"/>\n          </predicate>\n          <fixedPart>\n            ecm:mixinType != 'HiddenInNavigation' AND\n            ecm:isTrashed = 0 AND\n            collectionMember:collectionIds/* = ?\n          </fixedPart>\n        </whereClause>\n        <parameter>#{currentDocument.id}</parameter>\n        <sort ascending=\"true\" column=\"dc:title\"/>\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <searchLayout filterDisplayType=\"quick\" name=\"document_content_filter\"/>\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"document_listing_table\" showCSVExport=\"true\" showEditColumns=\"true\" showSpreadsheet=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n        <layout iconPath=\"/icons/document_listing_icon_2_columns_icon.png\" name=\"document_listing_thumbnail\" showEditRows=\"true\" showSlideshow=\"true\" title=\"document_thumbnail_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>COLLECTION_CURRENT_SELECTION</selectionList>\n      <actions category=\"COLLECTION_ACTION\"/>\n\n    </contentView>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.contentview",
          "name": "org.nuxeo.ecm.collections.contentview",
          "requirements": [],
          "resolutionOrder": 652,
          "services": [],
          "startOrder": 102,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.collections.contentview\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n    point=\"contentViews\">\n\n    <contentView name=\"user_collection_contentview\">\n\n      <title>label.search.results</title>\n      <translateTitle>true</translateTitle>\n\n      <emptySentence>label.content.empty.search</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"Document\">\n          <fixedPart>\n            ecm:mixinType = 'Collection' AND ecm:mixinType !=\n            'HiddenInNavigation'\n            AND ecm:primaryType != 'Favorites'\n            AND ecm:isVersion = 0 AND\n            ecm:isTrashed = 0\n          </fixedPart>\n        </whereClause>\n        <sort column=\"dc:title\" ascending=\"true\" />\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <searchLayout name=\"collections_default\" />\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"collections_listing\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" showSyndicationLinks=\"false\" />\n      </resultLayouts>\n\n      <selectionList>COLLECTIONS_CURRENT_SELECTION</selectionList>\n      <actions category=\"COLLECTIONS_CURRENT_SELECTION_LIST\" />\n\n    </contentView>\n\n    <contentView name=\"collection_content_contentview\">\n\n      <title>label.search.results</title>\n      <translateTitle>true</translateTitle>\n\n      <emptySentence>label.content.empty.search</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"AdvancedSearch\">\n          <predicate parameter=\"ecm:fulltext\" operator=\"FULLTEXT\">\n            <field schema=\"advanced_search\" name=\"fulltext_all\" />\n          </predicate>\n          <predicate parameter=\"dc:title\" operator=\"FULLTEXT\">\n            <field schema=\"advanced_search\" name=\"title\" />\n          </predicate>\n          <predicate parameter=\"dc:modified\" operator=\"BETWEEN\">\n            <field schema=\"advanced_search\" name=\"modified_min\" />\n            <field schema=\"advanced_search\" name=\"modified_max\" />\n          </predicate>\n          <fixedPart>\n            ecm:mixinType != 'HiddenInNavigation' AND\n            ecm:isTrashed = 0 AND\n            collectionMember:collectionIds/* = ?\n          </fixedPart>\n        </whereClause>\n        <parameter>#{currentDocument.id}</parameter>\n        <sort column=\"dc:title\" ascending=\"true\" />\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <searchLayout name=\"document_content_filter\"\n        filterDisplayType=\"quick\" />\n      <showFilterForm>true</showFilterForm>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"document_listing_table\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" showSpreadsheet=\"true\" showEditColumns=\"true\" />\n        <layout name=\"document_listing_thumbnail\" title=\"document_thumbnail_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon_2_columns_icon.png\"\n          showSlideshow=\"true\" showEditRows=\"true\" />\n      </resultLayouts>\n\n      <selectionList>COLLECTION_CURRENT_SELECTION</selectionList>\n      <actions category=\"COLLECTION_ACTION\" />\n\n    </contentView>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/collection-contentviews-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService--list",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.collections.directories.documentsLists/Contributions/org.nuxeo.collections.directories.documentsLists--list",
              "id": "org.nuxeo.collections.directories.documentsLists--list",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
                "name": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"list\" target=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService\">\n\n    <documentsList name=\"COLLECTIONS_CURRENT_SELECTION\">\n      <events>\n        <event>folderishDocumentSelectionChanged</event>\n      </events>\n      <isSession>false</isSession>\n    </documentsList>\n\n    <documentsList name=\"COLLECTION_CURRENT_SELECTION\">\n      <events>\n        <event>folderishDocumentSelectionChanged</event>\n      </events>\n      <isSession>false</isSession>\n    </documentsList>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.collections.directories.documentsLists",
          "name": "org.nuxeo.collections.directories.documentsLists",
          "requirements": [],
          "resolutionOrder": 653,
          "services": [],
          "startOrder": 57,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.collections.directories.documentsLists\">\n\n  <extension target=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService\"\n    point=\"list\">\n\n    <documentsList name=\"COLLECTIONS_CURRENT_SELECTION\">\n      <events>\n        <event>folderishDocumentSelectionChanged</event>\n      </events>\n      <isSession>false</isSession>\n    </documentsList>\n\n    <documentsList name=\"COLLECTION_CURRENT_SELECTION\">\n      <events>\n        <event>folderishDocumentSelectionChanged</event>\n      </events>\n      <isSession>false</isSession>\n    </documentsList>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/collection-documentslists-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.listing/Contributions/org.nuxeo.ecm.collections.listing--layouts",
              "id": "org.nuxeo.ecm.collections.listing--layouts",
              "registrationOrder": 15,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"collections_listing\" type=\"listingTable\">\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n        <property name=\"display\">table</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBoxWithCurrentDocument\">\n              true\n            </property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_manage_collection</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.listing/Contributions/org.nuxeo.ecm.collections.listing--widgets",
              "id": "org.nuxeo.ecm.collections.listing--widgets",
              "registrationOrder": 14,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"listing_manage_collection\" type=\"listing_manage_document\">\n      <labels>\n        <label mode=\"any\">action.view.manage</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n      </fields>\n    </widget>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.listing",
          "name": "org.nuxeo.ecm.collections.listing",
          "requirements": [
            "org.nuxeo.ecm.platform.forms.layouts.webapp.types",
            "org.nuxeo.ecm.platform.forms.layouts.webapp.listing"
          ],
          "resolutionOrder": 654,
          "services": [],
          "startOrder": 105,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.collections.listing\">\n\n  <require>org.nuxeo.ecm.platform.forms.layouts.webapp.listing</require>\n  <require>org.nuxeo.ecm.platform.forms.layouts.webapp.types</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"layouts\">\n\n    <layout name=\"collections_listing\" type=\"listingTable\">\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n        <property name=\"display\">table</property>\n      </properties>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBoxWithCurrentDocument\">\n              true\n            </property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <widget>listing_icon_type</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:title</property>\n          </properties>\n          <widget>listing_title_link</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"columnStyleClass\">iconColumn</property>\n          </properties>\n          <properties mode=\"csv\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <properties mode=\"pdf\">\n            <property name=\"isHidden\">true</property>\n          </properties>\n          <widget>listing_lock_icon</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:modified</property>\n          </properties>\n          <widget>listing_modification_date</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:lastContributor</property>\n          </properties>\n          <widget>listing_last_contributor</widget>\n        </column>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n          </properties>\n          <widget>listing_manage_collection</widget>\n        </column>\n      </columns>\n    </layout>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n\n    <widget name=\"listing_manage_collection\" type=\"listing_manage_document\">\n      <labels>\n        <label mode=\"any\">action.view.manage</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data</field>\n      </fields>\n    </widget>\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/collection-layout-listing-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.favorites.contentview/Contributions/org.nuxeo.ecm.favorites.contentview--contentViews",
              "id": "org.nuxeo.ecm.favorites.contentview--contentViews",
              "registrationOrder": 9,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"favorites_content_contentview\">\n\n      <title>label.search.results</title>\n      <translateTitle>true</translateTitle>\n\n      <emptySentence>label.content.empty.search</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"Document\">\n          <fixedPart>\n            ecm:mixinType != 'HiddenInNavigation' AND\n            ecm:isVersion = 0 AND ecm:isTrashed = 0 AND\n            collectionMember:collectionIds/* = ?\n          </fixedPart>\n        </whereClause>\n        <parameter>#{currentUserFavorites.id}</parameter>\n        <sort ascending=\"true\" column=\"dc:title\"/>\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <searchLayout name=\"collection_content_default\"/>\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"document_virtual_navigation_listing_ajax\" showCSVExport=\"true\" showSyndicationLinks=\"true\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>COLLECTION_CURRENT_SELECTION</selectionList>\n      <actions category=\"COLLECTION_ACTION\"/>\n\n    </contentView>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.favorites.contentview",
          "name": "org.nuxeo.ecm.favorites.contentview",
          "requirements": [],
          "resolutionOrder": 655,
          "services": [],
          "startOrder": 212,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<component name=\"org.nuxeo.ecm.favorites.contentview\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n    point=\"contentViews\">\n\n    <contentView name=\"favorites_content_contentview\">\n\n      <title>label.search.results</title>\n      <translateTitle>true</translateTitle>\n\n      <emptySentence>label.content.empty.search</emptySentence>\n      <translateEmptySentence>true</translateEmptySentence>\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <whereClause docType=\"Document\">\n          <fixedPart>\n            ecm:mixinType != 'HiddenInNavigation' AND\n            ecm:isVersion = 0 AND ecm:isTrashed = 0 AND\n            collectionMember:collectionIds/* = ?\n          </fixedPart>\n        </whereClause>\n        <parameter>#{currentUserFavorites.id}</parameter>\n        <sort column=\"dc:title\" ascending=\"true\" />\n        <pageSize>20</pageSize>\n      </coreQueryPageProvider>\n\n      <searchLayout name=\"collection_content_default\" />\n\n      <showPageSizeSelector>true</showPageSizeSelector>\n      <useGlobalPageSize>true</useGlobalPageSize>\n      <refresh>\n        <event>documentChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"document_virtual_navigation_listing_ajax\" title=\"document_listing\"\n          translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"\n          showCSVExport=\"true\" showSyndicationLinks=\"true\" />\n      </resultLayouts>\n\n      <selectionList>COLLECTION_CURRENT_SELECTION</selectionList>\n      <actions category=\"COLLECTION_ACTION\" />\n\n    </contentView>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/favorites-contentviews-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.WebResources--bundles",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.theme/Contributions/org.nuxeo.ecm.collections.theme--bundles",
              "id": "org.nuxeo.ecm.collections.theme--bundles",
              "registrationOrder": 8,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.WebResources",
                "name": "org.nuxeo.ecm.platform.WebResources",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"bundles\" target=\"org.nuxeo.ecm.platform.WebResources\">\n    <bundle name=\"nuxeo_includes\">\n      <resources append=\"true\">\n        <resource>collections2Formatter.js</resource>\n      </resources>\n    </bundle>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.WebResources--resources",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.theme/Contributions/org.nuxeo.ecm.collections.theme--resources",
              "id": "org.nuxeo.ecm.collections.theme--resources",
              "registrationOrder": 10,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.WebResources",
                "name": "org.nuxeo.ecm.platform.WebResources",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"resources\" target=\"org.nuxeo.ecm.platform.WebResources\">\n    <resource name=\"collections2Formatter.js\">\n      <uri>/scripts/collections2Formatter.js</uri>\n    </resource>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.theme",
          "name": "org.nuxeo.ecm.collections.theme",
          "requirements": [
            "org.nuxeo.theme.nuxeo.webapp"
          ],
          "resolutionOrder": 664,
          "services": [],
          "startOrder": 109,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.collections.theme\">\n\n  <require>org.nuxeo.theme.nuxeo.webapp</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.WebResources\" point=\"bundles\">\n    <bundle name=\"nuxeo_includes\">\n      <resources append=\"true\">\n        <resource>collections2Formatter.js</resource>\n      </resources>\n    </bundle>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.WebResources\" point=\"resources\">\n    <resource name=\"collections2Formatter.js\">\n      <uri>/scripts/collections2Formatter.js</uri>\n    </resource>\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/collection-theme-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.actions/Contributions/org.nuxeo.ecm.collections.actions--actions",
              "id": "org.nuxeo.ecm.collections.actions--actions",
              "registrationOrder": 23,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action icon=\"/icons/collection_tab.png\" id=\"Collections\" label=\"user.center.collections\" link=\"/user_center_fragment.xhtml\" order=\"80\">\n      <category>USER_CENTER</category>\n      <properties>\n        <property name=\"alwaysDisplaySubTabs\">true</property>\n      </properties>\n      <filter-id>not_anonymous</filter-id>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n    <action id=\"CollectionList\" label=\"user.center.collections\" link=\"/incl/collection_listing.xhtml\" order=\"0\">\n      <category>Collections_sub_tab</category>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action accessKey=\"u\" icon=\"/icons/add_to_collection.png\" id=\"addToCollectionAction\" label=\"label.addToCollection\" order=\"0\" type=\"fancybox\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>canAddToCollection</filter-id>\n      <properties>\n        <property name=\"include\">/incl/add_to_collection.xhtml</property>\n      </properties>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n    <action accessKey=\"u\" icon=\"/icons/add_to_collection.png\" id=\"selectDocumentToBeAddedToCollection\" label=\"label.addToCollection.selectDocToBeAddedToCollection\" order=\"0\" type=\"fancybox\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>canSelectedToBeAddedToCollection</filter-id>\n      <properties>\n        <property name=\"include\">/incl/select_doc_to_be_added_to_collection.xhtml</property>\n      </properties>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n\n    <action id=\"collectionContent\" label=\"action.view.content\" link=\"/incl/collection_content_listing.xhtml\" order=\"-1\">\n      <category>VIEW_ACTION_LIST</category>\n      <filter-id>collectionContentFilter</filter-id>\n    </action>\n\n    <action confirm=\"if( !confirmDeleteDocumentsForever() ) return false;\" help=\"comand.deleteDocs.help\" icon=\"\" id=\"collectionsCurrentSelectionDelete\" label=\"command.trashDocs\" link=\"#{deleteActions.purgeSelection('COLLECTIONS_CURRENT_SELECTION')}\">\n      <category>COLLECTIONS_CURRENT_SELECTION_LIST</category>\n      <filter id=\"canDeleteCollections\">\n        <rule grant=\"true\">\n          <condition>#{deleteActions.getCanDelete('COLLECTIONS_CURRENT_SELECTION')}</condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action icon=\"\" id=\"collectionCurrentSelectionDelete\" label=\"label.removeCurrentSelectionFromCollection\" link=\"#{collectionActions.removeCurrentSelectionFromCollection()}\">\n      <category>COLLECTION_ACTION</category>\n      <filter id=\"canRemoveFromCollection\"/>\n    </action>\n\n    <action accessKey=\"j\" icon=\"/icons/add_to_collection.png\" id=\"addSelectedToCollectionAction\" label=\"label.addToCollection\" order=\"40\" type=\"fancybox\">\n      <category>CURRENT_SELECTION_LIST</category>\n      <category>ORDERABLE_CURRENT_SELECTION_LIST</category>\n      <filter-id>canAddSelectedToCollection</filter-id>\n      <properties>\n        <property name=\"include\">/incl/add_selection_to_collection.xhtml</property>\n        <property name=\"autoDimensions\">false</property>\n        <property name=\"height\">400</property>\n        <property name=\"width\">600</property>\n      </properties>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n    <action id=\"exportViewZipBlobExport\">\n      <filter-id>can_zip_export</filter-id>\n    </action>\n\n    <action id=\"TAB_VIEW\">\n      <filter-id>denyForCollection</filter-id>\n    </action>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.actions/Contributions/org.nuxeo.ecm.collections.actions--filters",
              "id": "org.nuxeo.ecm.collections.actions--filters",
              "registrationOrder": 19,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter append=\"true\" id=\"create\">\n      <rule grant=\"true\">\n        <permission>AddChildren</permission>\n        <type>Collections</type>\n      </rule>\n    </filter>\n\n    <filter id=\"canAddToCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canCurrentDocumentBeCollected()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canSelectedToBeAddedToCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canAddToDocsToCurrentCollection()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canAddSelectedToCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canAddSelectedDocumentBeCollected()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRemoveFromCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canRemoveFromCollection()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter append=\"true\" id=\"rights\">\n      <rule grant=\"true\">\n        <facet>Collection</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"collectionContentFilter\">\n      <rule grant=\"true\">\n        <facet>Collection</facet>\n      </rule>\n    </filter>\n\n    <filter append=\"true\" id=\"can_zip_export\">\n      <rule grant=\"false\">\n        <type>Collections</type>\n        <type>Collection</type>\n      </rule>\n    </filter>\n\n    <filter id=\"denyForCollection\">\n      <rule grant=\"false\">\n        <type>Collection</type>\n      </rule>\n    </filter>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.actions",
          "name": "org.nuxeo.ecm.collections.actions",
          "requirements": [
            "org.nuxeo.ecm.webapp.seam.debug.action",
            "org.nuxeo.ecm.platform.actions"
          ],
          "resolutionOrder": 666,
          "services": [],
          "startOrder": 100,
          "version": "2021.57.3",
          "xmlFileContent": "<component name=\"org.nuxeo.ecm.collections.actions\">\n\n  <require>org.nuxeo.ecm.platform.actions</require>\n  <require>org.nuxeo.ecm.webapp.seam.debug.action</require>\n\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"Collections\" link=\"/user_center_fragment.xhtml\" label=\"user.center.collections\"\n      order=\"80\" icon=\"/icons/collection_tab.png\">\n      <category>USER_CENTER</category>\n      <properties>\n        <property name=\"alwaysDisplaySubTabs\">true</property>\n      </properties>\n      <filter-id>not_anonymous</filter-id>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n    <action id=\"CollectionList\" link=\"/incl/collection_listing.xhtml\"\n      label=\"user.center.collections\" order=\"0\">\n      <category>Collections_sub_tab</category>\n      <filter-id>not_readonly</filter-id>\n    </action>\n\n    <action id=\"addToCollectionAction\" order=\"0\" label=\"label.addToCollection\"\n      type=\"fancybox\" icon=\"/icons/add_to_collection.png\" accessKey=\"u\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>canAddToCollection</filter-id>\n      <properties>\n        <property name=\"include\">/incl/add_to_collection.xhtml</property>\n      </properties>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n    <action id=\"selectDocumentToBeAddedToCollection\" order=\"0\" label=\"label.addToCollection.selectDocToBeAddedToCollection\"\n      type=\"fancybox\" icon=\"/icons/add_to_collection.png\" accessKey=\"u\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>canSelectedToBeAddedToCollection</filter-id>\n      <properties>\n        <property name=\"include\">/incl/select_doc_to_be_added_to_collection.xhtml</property>\n      </properties>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n\n    <action id=\"collectionContent\" link=\"/incl/collection_content_listing.xhtml\"\n      order=\"-1\" label=\"action.view.content\">\n      <category>VIEW_ACTION_LIST</category>\n      <filter-id>collectionContentFilter</filter-id>\n    </action>\n\n    <action id=\"collectionsCurrentSelectionDelete\"\n      link=\"#{deleteActions.purgeSelection('COLLECTIONS_CURRENT_SELECTION')}\"\n      label=\"command.trashDocs\" icon=\"\" help=\"comand.deleteDocs.help\"\n      confirm=\"if( !confirmDeleteDocumentsForever() ) return false;\">\n      <category>COLLECTIONS_CURRENT_SELECTION_LIST</category>\n      <filter id=\"canDeleteCollections\">\n        <rule grant=\"true\">\n          <condition>#{deleteActions.getCanDelete('COLLECTIONS_CURRENT_SELECTION')}</condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action id=\"collectionCurrentSelectionDelete\"\n      link=\"#{collectionActions.removeCurrentSelectionFromCollection()}\"\n      label=\"label.removeCurrentSelectionFromCollection\" icon=\"\">\n      <category>COLLECTION_ACTION</category>\n      <filter id=\"canRemoveFromCollection\" />\n    </action>\n\n    <action id=\"addSelectedToCollectionAction\" order=\"40\" label=\"label.addToCollection\"\n      type=\"fancybox\" icon=\"/icons/add_to_collection.png\" accessKey=\"j\">\n      <category>CURRENT_SELECTION_LIST</category>\n      <category>ORDERABLE_CURRENT_SELECTION_LIST</category>\n      <filter-id>canAddSelectedToCollection</filter-id>\n      <properties>\n        <property name=\"include\">/incl/add_selection_to_collection.xhtml</property>\n        <property name=\"autoDimensions\">false</property>\n        <property name=\"height\">400</property>\n        <property name=\"width\">600</property>\n      </properties>\n      <filter-id>not_transient_user</filter-id>\n    </action>\n\n    <action id=\"exportViewZipBlobExport\">\n      <filter-id>can_zip_export</filter-id>\n    </action>\n\n    <action id=\"TAB_VIEW\">\n      <filter-id>denyForCollection</filter-id>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"create\" append=\"true\">\n      <rule grant=\"true\">\n        <permission>AddChildren</permission>\n        <type>Collections</type>\n      </rule>\n    </filter>\n\n    <filter id=\"canAddToCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canCurrentDocumentBeCollected()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canSelectedToBeAddedToCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canAddToDocsToCurrentCollection()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canAddSelectedToCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canAddSelectedDocumentBeCollected()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRemoveFromCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.canRemoveFromCollection()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"rights\" append=\"true\">\n      <rule grant=\"true\">\n        <facet>Collection</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"collectionContentFilter\">\n      <rule grant=\"true\">\n        <facet>Collection</facet>\n      </rule>\n    </filter>\n\n    <filter id=\"can_zip_export\" append=\"true\" >\n      <rule grant=\"false\">\n        <type>Collections</type>\n        <type>Collection</type>\n      </rule>\n    </filter>\n\n    <filter id=\"denyForCollection\">\n      <rule grant=\"false\">\n        <type>Collection</type>\n      </rule>\n    </filter>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/collection-actions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.favorites.actions/Contributions/org.nuxeo.ecm.favorites.actions--actions",
              "id": "org.nuxeo.ecm.favorites.actions--actions",
              "registrationOrder": 27,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <!-- action id=\"Favorites\" link=\"/user_center_fragment.xhtml\" label=\"user.center.favorites\"\n      order=\"80\" icon=\"/icons/favorite_tab.png\"> <category>USER_CENTER</category> <properties>\n      <property name=\"alwaysDisplaySubTabs\">true</property> </properties> <filter-id>not_anonymous</filter-id>\n      </action> <action id=\"favoritesContent\" link=\"/incl/favorites_content_listing.xhtml\"\n      label=\"user.center.favorites\" order=\"0\"> <category>Favorites_sub_tab</category> <filter-id>not_readonly</filter-id>\n      </action -->\n\n    <action icon=\"/icons/pin.png\" id=\"addToFavoritesAction\" label=\"label.addToFavorites\" link=\"#{favoritesActions.addCurrentDocumentToFavorites()}\" order=\"0\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>not_transient_user</filter-id>\n      <filter-id>canAddToFavorites</filter-id>\n    </action>\n\n    <action icon=\"/icons/pinned.png\" id=\"removeFromFavoritesAction\" label=\"label.removeFromFavorites\" link=\"#{favoritesActions.removeCurrentDocumentFromFavorites()}\" order=\"0\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>not_transient_user</filter-id>\n      <filter-id>canRemoveFromFavorites</filter-id>\n    </action>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.favorites.actions/Contributions/org.nuxeo.ecm.favorites.actions--filters",
              "id": "org.nuxeo.ecm.favorites.actions--filters",
              "registrationOrder": 22,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter id=\"canAddToFavorites\">\n      <rule grant=\"true\">\n        <condition>\n          #{favoritesActions.canCurrentDocumentBeAddedToFavorites()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRemoveFromFavorites\">\n      <rule grant=\"true\">\n        <condition>\n          #{favoritesActions.canCurrentDocumentBeRemovedFromFavorites()}\n        </condition>\n      </rule>\n    </filter>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.favorites.actions",
          "name": "org.nuxeo.ecm.favorites.actions",
          "requirements": [
            "org.nuxeo.ecm.platform.actions"
          ],
          "resolutionOrder": 670,
          "services": [],
          "startOrder": 211,
          "version": "2021.57.3",
          "xmlFileContent": "<component name=\"org.nuxeo.ecm.favorites.actions\">\n\n  <require>org.nuxeo.ecm.platform.actions</require>\n\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <!-- action id=\"Favorites\" link=\"/user_center_fragment.xhtml\" label=\"user.center.favorites\"\n      order=\"80\" icon=\"/icons/favorite_tab.png\"> <category>USER_CENTER</category> <properties>\n      <property name=\"alwaysDisplaySubTabs\">true</property> </properties> <filter-id>not_anonymous</filter-id>\n      </action> <action id=\"favoritesContent\" link=\"/incl/favorites_content_listing.xhtml\"\n      label=\"user.center.favorites\" order=\"0\"> <category>Favorites_sub_tab</category> <filter-id>not_readonly</filter-id>\n      </action -->\n\n    <action id=\"addToFavoritesAction\" order=\"0\" label=\"label.addToFavorites\"\n      link=\"#{favoritesActions.addCurrentDocumentToFavorites()}\" icon=\"/icons/pin.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>not_transient_user</filter-id>\n      <filter-id>canAddToFavorites</filter-id>\n    </action>\n\n    <action id=\"removeFromFavoritesAction\" order=\"0\"\n      label=\"label.removeFromFavorites\" link=\"#{favoritesActions.removeCurrentDocumentFromFavorites()}\"\n      icon=\"/icons/pinned.png\">\n      <category>DOCUMENT_UPPER_ACTION</category>\n      <filter-id>not_transient_user</filter-id>\n      <filter-id>canRemoveFromFavorites</filter-id>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"canAddToFavorites\">\n      <rule grant=\"true\">\n        <condition>\n          #{favoritesActions.canCurrentDocumentBeAddedToFavorites()}\n        </condition>\n      </rule>\n    </filter>\n\n    <filter id=\"canRemoveFromFavorites\">\n      <rule grant=\"true\">\n        <condition>\n          #{favoritesActions.canCurrentDocumentBeRemovedFromFavorites()}\n        </condition>\n      </rule>\n    </filter>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/favorites-actions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgettypes",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.summary/Contributions/org.nuxeo.ecm.collections.summary--widgettypes",
              "id": "org.nuxeo.ecm.collections.summary--widgettypes",
              "registrationOrder": 18,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgettypes\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n    <widgetType name=\"summary_current_document_collections\">\n      <configuration>\n        <sinceVersion>5.9.3</sinceVersion>\n        <title>Collections</title>\n        <description>\n          <p>\n            This widget displays the collections the document is in.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/summary/collections_widget_template.xhtml\n      </property>\n    </widgetType>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.summary/Contributions/org.nuxeo.ecm.collections.summary--widgets",
              "id": "org.nuxeo.ecm.collections.summary--widgets",
              "registrationOrder": 21,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n    <widget name=\"summary_current_document_collections\" type=\"summary_current_document_collections\">\n      <labels>\n        <label mode=\"any\"/>\n      </labels>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n        <control name=\"requireSurroundingForm\">true</control>\n      </controls>\n    </widget>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.summary/Contributions/org.nuxeo.ecm.collections.summary--actions",
              "id": "org.nuxeo.ecm.collections.summary--actions",
              "registrationOrder": 35,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action id=\"summary_current_document_collections\" order=\"350\" type=\"widget\">\n      <category>SUMMARY_PANEL_RIGHT</category>\n      <properties>\n        <property name=\"widgetName\">summary_current_document_collections</property>\n      </properties>\n      <filter-id>hasCollection</filter-id>\n    </action>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.summary/Contributions/org.nuxeo.ecm.collections.summary--filters",
              "id": "org.nuxeo.ecm.collections.summary--filters",
              "registrationOrder": 26,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.57.3",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <filter id=\"hasCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.hasCurrentDocumentVisibleCollection()}\n        </condition>\n      </rule>\n    </filter>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base/org.nuxeo.ecm.collections.summary",
          "name": "org.nuxeo.ecm.collections.summary",
          "requirements": [
            "org.nuxeo.ecm.platform.forms.layouts.webapp.summary"
          ],
          "resolutionOrder": 684,
          "services": [],
          "startOrder": 108,
          "version": "2021.57.3",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.collections.summary\">\n\n  <require>org.nuxeo.ecm.platform.forms.layouts.webapp.summary</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgettypes\">\n    <widgetType name=\"summary_current_document_collections\">\n      <configuration>\n        <sinceVersion>5.9.3</sinceVersion>\n        <title>Collections</title>\n        <description>\n          <p>\n            This widget displays the collections the document is in.\n          </p>\n        </description>\n        <handlingLabels>true</handlingLabels>\n        <categories>\n          <category>summary</category>\n        </categories>\n        <supportedModes>\n          <mode>view</mode>\n        </supportedModes>\n        <!-- no configurable properties -->\n      </configuration>\n      <handler-class>\n        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler\n      </handler-class>\n      <property name=\"template\">\n        /widgets/summary/collections_widget_template.xhtml\n      </property>\n    </widgetType>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\"\n    point=\"widgets\">\n    <widget name=\"summary_current_document_collections\" type=\"summary_current_document_collections\">\n      <labels>\n        <label mode=\"any\"></label>\n      </labels>\n      <controls mode=\"any\">\n        <control name=\"handleLabels\">true</control>\n        <control name=\"requireSurroundingForm\">true</control>\n      </controls>\n    </widget>\n  </extension>\n\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"summary_current_document_collections\" type=\"widget\"\n      order=\"350\">\n      <category>SUMMARY_PANEL_RIGHT</category>\n      <properties>\n        <property name=\"widgetName\">summary_current_document_collections</property>\n      </properties>\n      <filter-id>hasCollection</filter-id>\n    </action>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"filters\">\n\n    <filter id=\"hasCollection\">\n      <rule grant=\"true\">\n        <condition>\n          #{collectionActions.hasCurrentDocumentVisibleCollection()}\n        </condition>\n      </rule>\n    </filter>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/collection-layout-summary-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-webapp-base-2021.57.3.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.webapp/org.nuxeo.ecm.webapp.base",
      "id": "org.nuxeo.ecm.webapp.base",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.23\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 2021.57.3-t20240722-084301\r\nRequire-Bundle: org.nuxeo.ecm.platform.ui,org.nuxeo.ecm.platform.types\r\n .api\r\nBundle-Vendor: Nuxeo\r\nBundle-Category: web\r\nBundle-Localization: plugin\r\nBundle-Name: NuxeoWeb\r\nNuxeo-Component: OSGI-INF/nxtreemanager-framework.xml,OSGI-INF/nxtreem\r\n anager-contrib.xml,OSGI-INF/actions-contrib.xml,OSGI-INF/restAPI-cont\r\n rib.xml,OSGI-INF/directorytreemanager-framework.xml,OSGI-INF/document\r\n slists-framework.xml,OSGI-INF/seamremotingjsbuilder-contrib.xml,OSGI-\r\n INF/search-layouts-contrib.xml,OSGI-INF/widgets-contrib.xml,OSGI-INF/\r\n layouts-contrib.xml,OSGI-INF/layouts-listing-contrib.xml,OSGI-INF/lay\r\n outtypes-contrib.xml,OSGI-INF/contentviews-contrib.xml,OSGI-INF/users\r\n -layouts-listing-contrib.xml,OSGI-INF/users-contentviews-contrib.xml,\r\n OSGI-INF/reload-seam-contrib.xml,OSGI-INF/chains-contrib.xml,OSGI-INF\r\n /bulkedit-service.xml,OSGI-INF/navtree-framework.xml,OSGI-INF/navtree\r\n -default-contrib.xml,OSGI-INF/webresources-contrib.xml,OSGI-INF/webap\r\n p-base-properties.xml,OSGI-INF/thumbnail-contrib.xml,OSGI-INF/collect\r\n ion-actions-contrib.xml,OSGI-INF/collection-contentviews-contrib.xml,\r\n OSGI-INF/collection-theme-contrib.xml,OSGI-INF/collection-documentsli\r\n sts-contrib.xml,OSGI-INF/collection-layout-listing-contrib.xml,OSGI-I\r\n NF/collection-layout-summary-contrib.xml,OSGI-INF/favorites-actions-c\r\n ontrib.xml,OSGI-INF/favorites-contentviews-contrib.xml\r\nBundle-SymbolicName: org.nuxeo.ecm.webapp.base\r\n\r\n",
      "maxResolutionOrder": 684,
      "minResolutionOrder": 625,
      "packages": [
        "nuxeo-jsf-ui"
      ],
      "requirements": [
        "org.nuxeo.ecm.platform.ui",
        "org.nuxeo.ecm.platform.types.api"
      ],
      "version": "2021.57.3"
    }
  ],
  "creationDate": 1721639286546,
  "key": "Nuxeo Platform-2021.57",
  "name": "Nuxeo Platform",
  "operations": [
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Chain",
      "contributingComponent": "org.nuxeo.ecm.webapp.seam.action.defaultChains",
      "hierarchyPath": "/op:downloadFilesZip",
      "label": "downloadFilesZip",
      "name": "downloadFilesZip",
      "operationClass": "org.nuxeo.ecm.automation.core.impl.OperationChainCompiler.CompiledChainImpl",
      "params": [],
      "signature": [
        "document",
        "blob",
        "documents",
        "blob"
      ],
      "url": "downloadFilesZip",
      "version": "2021.57.3"
    }
  ],
  "packages": [
    {
      "@type": "NXPackage",
      "bundles": [
        "org.nuxeo.admin.center.analytics.dashboards",
        "org.nuxeo.admin.center.jsf",
        "org.nuxeo.admin.center.monitoring",
        "org.nuxeo.admin.center.oauth.opensocial",
        "org.nuxeo.ecm.automation.jsf",
        "org.nuxeo.elasticsearch.web",
        "org.nuxeo.ecm.localconf.web",
        "org.nuxeo.ecm.actions.jsf",
        "org.nuxeo.ecm.platform.audio.jsf",
        "org.nuxeo.ecm.platform.audit.web",
        "org.nuxeo.ecm.platform.comment.web",
        "org.nuxeo.ecm.platform.contentview.jsf",
        "org.nuxeo.ecm.directory.web",
        "org.nuxeo.ecm.platform.forms.layout.client",
        "org.nuxeo.ecm.platform.forms.layout.io",
        "org.nuxeo.ecm.platform.forms.layout.io.plugins",
        "org.nuxeo.ecm.platform.picture.jsf",
        "org.nuxeo.ecm.platform.io.web",
        "org.nuxeo.ecm.platform.login.token.jsf",
        "org.nuxeo.ecm.platform.notification.web",
        "org.nuxeo.ecm.platform.publisher.web",
        "org.nuxeo.ecm.relations.web",
        "org.nuxeo.ecm.platform.rendition.web",
        "org.nuxeo.ecm.platform.suggestbox.jsf",
        "org.nuxeo.ecm.platform.tag.web",
        "org.nuxeo.ecm.platform.task.web",
        "org.nuxeo.ecm.platform.ui.select2",
        "org.nuxeo.ecm.platform.ui",
        "org.nuxeo.ecm.platform.userworkspace.web",
        "org.nuxeo.ecm.platform.video.jsf",
        "org.nuxeo.ecm.webapp.ui",
        "org.nuxeo.ecm.webapp.base",
        "org.nuxeo.ecm.webapp.core",
        "org.nuxeo.ecm.platform.preview.jsf",
        "org.nuxeo.ecm.platform.routing.dashboard",
        "org.nuxeo.ecm.platform.routing.default.jsf",
        "org.nuxeo.ecm.platform.routing.dm",
        "org.nuxeo.ecm.platform.routing.web",
        "org.nuxeo.search.ui",
        "org.nuxeo.theme.migration",
        "org.nuxeo.ecm.user.center",
        "org.nuxeo.ecm.user.center.dashboard",
        "org.nuxeo.ecm.user.center.dashboard.jsf",
        "org.nuxeo.ecm.user.center.notification",
        "org.nuxeo.ecm.user.center.oauth",
        "org.nuxeo.ecm.user.center.profile.jsf",
        "org.nuxeo.web.resources.jsf"
      ],
      "conflicts": [],
      "dependencies": [],
      "hierarchyPath": "/nuxeo-jsf-ui-2021.57.3",
      "id": "nuxeo-jsf-ui-2021.57.3",
      "name": "nuxeo-jsf-ui",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo JSF UI",
      "version": "2021.57.3"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1721639286546,
  "version": "2021.57"
}